|
■No100512 (ゆう さん) に返信 > これらを再設定する為、一度全てのツールチップをクリアしたいです。 > 下記のようにFor文などで一つ一つクリアしていくしかないのでしょうか
ループを使わない…とするならば、CellToolTipTextNeeded イベントで切り替えるとか。
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGridView1.DataSource = CreateSampleDataTable() Button1.PerformClick() End Sub
Private toolTips As New Dictionary(Of (x As Integer, y As Integer), String)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click toolTips((0, 0)) = "ツールチップ1" toolTips((0, 1)) = "ツールチップ2" toolTips((0, 2)) = "ツールチップ3" toolTips((1, 0)) = "ツールチップ4" toolTips((1, 1)) = "ツールチップ5" toolTips((1, 2)) = "ツールチップ6" End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click toolTips.Clear() '一括で消す End Sub Private Sub DataGridView1_CellToolTipTextNeeded(sender As Object, e As DataGridViewCellToolTipTextNeededEventArgs) Handles DataGridView1.CellToolTipTextNeeded toolTips.TryGetValue((e.ColumnIndex, e.RowIndex), e.ToolTipText) End Sub
Private Function CreateSampleDataTable() As DataTable Dim tbl As New DataTable() tbl.Columns.Add("C1") tbl.Columns.Add("C2") tbl.Columns.Add("C3") tbl.Columns.Add("C4") tbl.Columns.Add("C5") tbl.Rows.Add("あ★", "い★", "ウ", "エ", "オ") tbl.Rows.Add("か★", "き★", "ク", "ケ", "コ") tbl.Rows.Add("さ★", "し★", "ス", "セ", "ソ") tbl.AcceptChanges() Return tbl End Function End Class
|