2

複数レベルのメニューを表示するためにNotifyIcon、に関連付けられたコントロールを使用しています。ContextMenuStripユーザーのマウスが選択した項目の上に置かれたときに、サブメニューの新しいブランチをロードする必要があります。

残念ながら、ContextMenuStripイベントをキャプチャするためのイベントがないため、標準のコントロールの代わりにコントロールMouseHoverを使用したいと考えています。ToolStripMenuItemToolStripItem

ToolStripMenuItemには というイベントMouseHoverがありますが、メニュー内のすべての項目に対して 1 つのイベント ハンドラーが必要です。どうすればそれができるかわかりません。以下は、イベント ハンドラーを 1 つの .xml ファイルに追加するために使用するコードの一部ですToolStripMenuItem

ToolStripMenuItem mi = new ToolStripMenuItem();
mi.Text = "Hello";
Menu.Items.Add(mi);

mi.MouseHover += new EventHandler(mi_MouseHover);
4

2 に答える 2

1

すべてのツール ストリップ メニュー項目に使用する特定のイベント ハンドラを作成できます。

    private void ToolStripHover(object sender, EventArgs e)
    {
        //Do Something
    }


 mi.MouseHover += new EventHandler(ToolStripHover);

または、Visual Studio を使用している場合は、それをコピーToolStripHoverして各メニュー項目のイベントに貼り付けることができます。MouseHover

于 2012-12-28T13:56:54.783 に答える
0

これにはMouseEnterイベントを試すことができます。

于 2012-12-28T12:55:28.753 に答える