在编辑模式下禁用右键单击datagrid

时间:2014-02-24 10:18:07

标签: c# winforms datagridview contextmenustrip editmode

我有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);
        }

MouseButtonMouseButtons的位置。它进入并做了一切,但我得到了2个菜单(我的和窗户)。所以我需要禁用Windows右键菜单。有没有办法做到这一点?我认为DataGridValues_CellMouseClick(sender, e2);中的代码并不重要,因为它正在发挥作用。

1 个答案:

答案 0 :(得分:1)

试试这个

  private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        e.Control.ContextMenuStrip = myContextMenuStrip;
    }