- 題名: コンテキストメニュー内メニューアイテムの Popupイベントが発生しない
- 日時: 2004/09/07 13:31:26
- ID: 6043
- この記事の返信元:
- (なし)
- この記事への返信:
- [6106] Re[1]: コンテキストメニュー内メニューアイテムの Popupイベントが発生しない2004/09/10 13:01:40
- ツリーを表示
■No6043に返信(ぱるさんの記事)
ぱるさん、こんにちは。深山と申します。
> コンテキストメニュー内の、メニューアイテムの Popupイベントが
> 発生しない現象が出ています。
こちらでも確認しました。
> コンテキストメニューを Showメソッドで表示後
> メニューアイテムの Popupイベントが発生しない
ようですね。
フォーム上にボタンを配置して以下のようなコーディングで実験したところ、
メニュー B の Popup イベントは発生しませんでした。
private void button1_Click(object sender, System.EventArgs e)
{
contextMenu1.Show((Control)sender, new Point(0, 0));
}
原因の究明には至っていないのですが、次のように Show メソッドの引数に指定する
コントロールの ContextMenu プロパティを変更することすることでイベント発生を
確認できました。
private void button1_Click(object sender, System.EventArgs e)
{
ContextMenu cm = ((Control)sender).ContextMenu;
((Control)sender).ContextMenu = contextMenu1;
contextMenu1.Show((Control)sender, new Point(0, 0));
((Control)sender).ContextMenu = cm;
}
# ‥‥あんまりスマートじゃないですね(^_^;)
この内容でぱるさんの用件を満たすかどうか定かではありませんけど、参考までに。
分類:[.NET]
いつもお世話になっています。
コンテキストメニュー内の、メニューアイテムの Popupイベントが
発生しない現象が出ています。
どなたか回避方法をご存じないでしょうか。
コンテキストメニューには、A・B・C というメニューアイテムがあり、
Bにはサブメニュー B1・B2があるとします。
メニュー
A
B--B1
|-B2
C
コンテキストメニューを Showメソッドで表示後、メニューアイテム
B の Popupイベントで、サブメニュー B1・B2の初期表示処理を行い
たいと考えています。
コンテキストメニュー、メニューアイテムで、上記以外の処理を削除
して確認しましたが、やはりメニューアイテムの Popupイベントが
発生しない状況です。
よろしくお願いいたします。