VB.NETのDataGridViewでは、選択したセルを持つ列の代わりに、クリックされた列のインデックスを取得できます。VB.NET - Datagridview:クリックした列のインデックスを取得します。
コンテキストメニューを使用して、列を右クリックして非表示にするオプションをユーザに提供したいと考えています。このコードは、私の選択したセルを持つ列のインデックスを与える:
Private Sub dataGridView1_ColumnHeaderMouseClick(sender As Object, ByVal e As DataGridViewCellMouseEventArgs) Handles dataGridView1.ColumnHeaderMouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
currSelectedColIdx = e.ColumnIndex
ContextMenuStrip1.Show()
End If
End Sub
編集:私はプロパティウィンドウを経由してのDataGridViewにコンテキストメニューをバインドするときに問題が起こる。私がそれをアンバインドする場合、コードは正しく動作します。
あなたは、ヘッダーの列をクリックしてください? –
はい。それでも私は選択したセルを持つ列のインデックスを返します – DylanW80