WinForm TextBox のコンテキスト メニューで奇妙なことに気付きました。TextBox コントロールには、切り取り、コピー、貼り付けなどを含む既定のコンテキスト メニューがあります。このメニューを自分のメニューに置き換えようとしています。1 つのフォームとフォーム上に 1 つのテキスト ボックスを持つ単純なテスト アプリケーションを作成し、次のコードを追加しました。
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 で実行されている場合に違いが生じる場合。