我有ContextMenuStrip,右键单击显示可供选择的内容。当单元格不处于编辑模式时,它工作正常,但当它处于编辑模式时,当我单击鼠标右键时,它会显示窗口菜单(复制,粘贴,删除,全部选择......)。所以在datagridview中我搞了CellEndEdit并编写了这段代码:
if (MouseButton == System.Windows.Forms.MouseButtons.Right)
{
MouseEventArgs e3 = new MouseEventArgs(System.Windows.Forms.MouseButtons.Right, 1, Location.X,
Location.Y, 1);
DataGridViewCellMouseEventArgs e2 = new DataGridViewCellMouseEventArgs(e.ColumnIndex,
e.RowIndex, Location.X, Location.Y, e3);
DataGridValues_CellMouseClick(sender, e2);
}
MouseButton
为MouseButtons
的位置。它进入并做了一切,但我得到了2个菜单(我的和窗户)。所以我需要禁用Windows右键菜单。有没有办法做到这一点?我认为DataGridValues_CellMouseClick(sender, e2);
中的代码并不重要,因为它正在发挥作用。
答案 0 :(得分:1)
试试这个
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.ContextMenuStrip = myContextMenuStrip;
}