- 題名: ListViewのアイテムごとにToolTipを表示する方法
- 日時: 2008/12/05 13:27:09
- ID: 23463
- この記事の返信元:
- (なし)
- この記事への返信:
- [23464] Re[1]: ListViewのアイテムごとにToolTipを表示する方法2008/12/05 13:57:16
- ツリーを表示
とりあえず、サンプルを書いてみました。 参考になれば幸いです。 Dim m_lastsubitem As ListViewItem.ListViewSubItem ' ListView1のViewプロパティがDetailsの場合 Private Sub ListView1_MouseMove(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove ' 「Me」は、ListView1を配置したFormオブジェクト Dim hi As ListViewHitTestInfo = Me.ListView1.HitTest(Me.ListView1.PointToClient(Control.MousePosition)) Dim si As ListViewItem.ListViewSubItem = hi.SubItem If Me.m_lastsubitem Is si Then Return If Me.ToolTip1.Active = True Then Me.ToolTip1.Active = False End If If si IsNot Nothing Then Me.ToolTip1.SetToolTip(Me.ListView1, si.Text) Me.ToolTip1.Active = True End If Me.m_lastsubitem = si End Sub
質問の意図を取り違え、失礼しました。 ListViewSubItemのTagプロパティを使う方法が考えられます。 以下のコードで試してみてください。 Public Class ListViewToolTipTestForm_ver2 Inherits Form Dim WithEvents ListView1 As New ListView Dim ToolTip1 As New ToolTip Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) Me.Text = Me.GetType.Name With Me.ListView1 .View = View.Details .Bounds = New Rectangle(100, 100, 300, 300) .Columns.Add("列1") .Columns.Add("列2") .Columns.Add("列3") Dim lvi As New ListViewItem(New String() {"日本語", "英語", "VisualBasic"}) lvi.SubItems(0).Tag = "こんにちは" lvi.SubItems(1).Tag = "Hello" lvi.SubItems(2).Tag = "Hello World!!" .Items.Add(lvi) End With Me.Controls.Add(Me.ListView1) MyBase.OnLoad(e) End Sub Dim m_lastsubitem As ListViewItem.ListViewSubItem Private Sub ListView1_MouseMove(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove Dim hi As ListViewHitTestInfo = Me.ListView1.HitTest(Me.ListView1.PointToClient(Control.MousePosition)) Dim si As ListViewItem.ListViewSubItem = hi.SubItem If Me.m_lastsubitem Is si Then Return If Me.ToolTip1.Active = True Then Me.ToolTip1.Active = False End If If si IsNot Nothing Then Me.ToolTip1.SetToolTip(Me.ListView1, Me.MyToString(si.Tag)) Me.ToolTip1.Active = True End If Me.m_lastsubitem = si End Sub Private Function MyToString(ByVal o As Object) As String If o Is Nothing Then Return "" Return o.ToString End Function End Class
分類:[.NET]
ListViewの各セルにマウスを持ってくると
TolTipを表示するようにしたいのですが
やり方が分かりません。
ListViewのアイテムごとにToolTipを表示する
http://dobon.net/vb/dotnet/control/lvitemtooltip.html
を見たのですが、1カラム(1列)の例で、
MSDNのヘルプを見ても1カラム(1列)の例しか載っていません。
複数列ある場合、それぞれにToolTipを設定する方法が分かりません。
ご教授の程、宜しくお願い致します。