我注意到 WinForm 文本框的上下文菜单有些奇怪。TextBox 控件有一个默认的上下文菜单,其中包含剪切、复制、粘贴和其他一些功能。我正在尝试用我自己的菜单替换此菜单。我创建了一个简单的测试应用程序,其中包含一个表单和一个表单上的文本框,并添加了以下代码:
Form1()
{
InitilizeComponent();
ContextMenu menu = new ContextMenu();
menu.MenuItems.Add("Hello World", HelloWorld_Clicked);
textBox1.ContextMenu = menu;
}
private void HelloWorld_Clicked(object sender, EventArgs e)
{
MessageBox.Show("Hello World!");
}
当我运行它时,我可以通过右键单击文本框然后释放鼠标按钮而不移动鼠标来显示我的上下文菜单。但是,如果我在文本框上按下鼠标右键,按住它,然后将鼠标移到文本框外,最后松开鼠标按钮,我会得到默认的文本框上下文菜单。
有可能阻止它这样做吗?
更新:如果系统运行在 Windows XP Pro SP3 和 .Net 3.5 上会有所不同。