PAT*_*TO7 1 c# datagridview items contextmenustrip
我有一个datagridview有五列和上下文菜单条,其中包含项目和子项目.当我右键单击最后一列时,我想打开上下文菜单.
我尝试了这段代码,但它是没有子项的打开上下文菜单条.
dataGrid.Columns[dataGrid.Columns.Count].HeaderCell.ContextMenuStrip = contextMenuStrip1;
Run Code Online (Sandbox Code Playgroud)
如果用户右键单击DataGridView最后一列的标题,您似乎想要打开ContextMenuStrip.我将使用DataGridView MouseDown事件并在该事件中检查这些条件,如果满足它们,请调用ShowContextMenuStrip 的方法.
像这样:
private void dataGridView1_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Right) {
var ht = dataGridView1.HitTest(e.X, e.Y);
// See if the user right-clicked over the header of the last column.
if (( ht.ColumnIndex == dataGridView1.Columns.Count - 1)
&& (ht.Type == DataGridViewHitTestType.ColumnHeader)) {
// This positions the menu at the mouse's location.
contextMenuStrip1.Show(MousePosition);
}
}
}
Run Code Online (Sandbox Code Playgroud)