我的最终目标是让Combobox不可编辑。目前,当用户进行任何选择时,ComboBox会显示选择并突出显示,因此用户可以右键单击并剪切和删除显示的文本。我添加了keyDown方法,它可以阻止用户执行ctrl + c,ctrl + v和delete等命令。但是用户仍然可以使用右键单击“剪切”,“复制”和“粘贴”来修改突出显示的文本。如何阻止用户修改当前选择?
答案 0 :(得分:0)
最终目标是使Combobox不可编辑。
您可以订阅KeyDown
事件,并为SuppressKeyPress
以外的所有其他操作设置Ctrl+c
为true,并创建新的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;
}
}