Windows UIの通知領域にアイコンを配置するアプリケーションでプラグイン(System.ComponentModel.Composition
を使用)を使用しています。私はそのアイコンのコンテキストメニューに項目をクリックすると今、Click
ハンドラが呼び出されていませんNotifyIconに添付されたContextMenuでクリックイベントが発生しました
trayMenu.MenuItems.Clear();
// Create context menu items
foreach(IJob job in jobs) {
MenuItem menuItem = new MenuItem(job.Name) {Tag = job};
menuItem.Click += MenuItemClick;
trayMenu.MenuItems.Add(menuItem);
}
private void MenuItemClick(object sender, EventArgs e) {
// ...
}
。
興味深いことに、アイコンをもう一度右クリックすると(メニュー項目をクリックした後に)、以前にクリックされたMenuItem
のハンドラが呼び出されます。Click
アイコンを左クリックまたはホバーしても、この手順は実行されません。
何が起こっていますか?
更新:私の問題はthis questionに関連していると強く感じています。しかし、私はまだそれを私のプラグイン/アプリケーションにどのように適用できるかを理解しようとしています。
自分でコンテキストメニューを表示するなど、珍しいことはありますか?メニューの外側をクリックすると、それは消えますか? –
@ハンスパッサント:いいえ、私は何か珍しいことはしていないと思います。メニューのオープンは、NotifyIconによって処理されます。メニューの外側をクリックすると、(期待どおり)消えます。 –