gpt4 book ai didi

c# - 禁用 DataGridView 系统上下文菜单

转载 作者:行者123 更新时间:2023-11-30 20:14:39 25 4
gpt4 key购买 nike

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

以下是我在常规 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);
}
}
}

最佳答案

这对我有用:

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

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

关于c# - 禁用 DataGridView 系统上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com