none
DataGridViewコントロールの使い方 RRS feed

  • 質問

  • DataGridViewのi列目が右クリックされたとき、コンテキストメニューを表示したいのですがどの様にプログラミングしますか。
    2016年2月1日 2:02

回答

  • こんにちは。

    WinFormsで良いでしょうか。

    Public Class Form1
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim dt As New DataTable
            dt.Columns.Add("ColA")
            dt.Columns.Add("ColB")
            dt.Columns.Add("ColC")
            dt.Rows.Add("1-1", "1-2", "1-3")
            dt.Rows.Add("2-1", "2-2", "2-3")
    
            DataGridView1.Dock = DockStyle.Fill
            DataGridView1.DataSource = dt
    
            AddHandler DataGridView1.MouseClick, Sub(a, b)
                                                     If b.Button = System.Windows.Forms.MouseButtons.Right Then
                                                         Dim colIndex = DataGridView1.HitTest(b.X, b.Y).ColumnIndex
                                                         If colIndex = 1 Then
                                                             Dim menu As New ContextMenu
                                                             menu.MenuItems.Add("AAA")
                                                             menu.MenuItems.Add("BBB")
                                                             menu.MenuItems.Add("CCC")
                                                             menu.Show(DataGridView1, b.Location)
                                                         End If
                                                     End If
                                                 End Sub
        End Sub
    End Class
    

    • 回答の候補に設定 星 睦美 2016年2月3日 1:12
    • 回答としてマーク 星 睦美 2016年3月4日 5:47
    2016年2月1日 2:27
    モデレータ