当前位置:  开发笔记 > 编程语言 > 正文

禁用DataGridView系统ContextMenu

如何解决《禁用DataGridView系统ContextMenu》经验,为你挑选了1个好方法。

当用户右键单击DataGridViewTextBoxCell时,是否有人知道如何禁用系统上下文菜单?我试图在DataGridView级别覆盖WndProc(因为没有WndProc在Cell级别上覆盖),但似乎没有任何工作.任何帮助将不胜感激.

以下是我在常规TextBox中使用的方法,但是,我需要以相同的方式为DataGridViewCell工作吗?

public  class NoContextTextBox : TextBox {
    private static readonly int WM_CONTEXTMENU = 123;
    protected override void WndProc(ref Message m) {
        if (m.Msg != WM_CONTEXTMENU) {
            base.WndProc(ref m);
        }
    }
}

Rockcoder.. 7

这对我有用:

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

只需将ContextMenu属性设置为DataGridView的EditingControlShowing事件中的新(空)ContextMenu.



1> Rockcoder..:

这对我有用:

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

只需将ContextMenu属性设置为DataGridView的EditingControlShowing事件中的新(空)ContextMenu.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有