C# 在c中的组合框中禁用右键单击菜单#

C# 在c中的组合框中禁用右键单击菜单#,c#,.net,vb.net,C#,.net,Vb.net,我的最终目标是使Combobox不可编辑。当前,当用户进行任何选择时,ComboBox将显示所选内容并将其高亮显示,因此用户可以右键单击并剪切和删除显示的文本。我添加了keyDown方法,它可以防止用户使用诸如ctrl+c、ctrl+v和delete之类的命令。但用户仍然可以使用右键单击“剪切”、“复制”和“粘贴”修改突出显示的文本。如何防止用户修改当前选择 最终目标是使Combobox不可编辑 您可以订阅KeyDown事件,并将SuppressKeyPress设置为true,以执行除Ctrl+

我的最终目标是使Combobox不可编辑。当前,当用户进行任何选择时,ComboBox将显示所选内容并将其高亮显示,因此用户可以右键单击并剪切和删除显示的文本。我添加了keyDown方法,它可以防止用户使用诸如ctrl+c、ctrl+v和delete之类的命令。但用户仍然可以使用右键单击“剪切”、“复制”和“粘贴”修改突出显示的文本。如何防止用户修改当前选择

最终目标是使Combobox不可编辑

您可以订阅
KeyDown
事件,并将
SuppressKeyPress
设置为true,以执行除
Ctrl+c
之外的所有其他操作,并创建新的
ContextMenu
以禁用所有默认行为

 comboBox2.KeyDown += comboBox2_KeyDown;
 comboBox2.ContextMenu = new ContextMenu();   //disable right click

 void comboBox2_KeyDown(object sender, KeyEventArgs e)
 {
      if (!(e.Control && e.KeyCode == Keys.C))
      {
           e.SuppressKeyPress = true;
      }
 }

如果控件实际上不是一个组合框,那么为什么您会问关于组合框的问题?什么是
ComboGrid
?这不是标准的WinForms组件AFAIK。它有文档吗?我也想知道什么是
ComboGrid
,它是第三方控件吗?很抱歉混淆了。控件实际上是组合框,但其中的数据是网格。因此,控件只是普通的Windows.forms.ComboBox。如果控件是一个
ComboBox
,那么它拥有
ComboBox
拥有的所有成员,因此您可以将其设置为
DropDownStyle
DropDownList
。问题是你在哪里这样做。鉴于您仍然选择对网格类型保密,我们无法真正帮助您做到这一点。考虑在未来提供所有相关信息。这与禁用右击有什么关系?最终,OP WORD禁用所有编辑,因此他可以使用<代码> SpestKyPress < /代码>禁用所有编辑。<代码>键按下< /代码>鼠标按钮……右键点击>粘贴?这是有效的点,让我更新。