1

C# で MDI アプリケーションを開発しています。2 つの MenuStrip を組み合わせると問題が発生します。

私は親 ParentFormとそのMenuStrip parentMenuいくつかのToolStripMenuItem要素を持っています: Option1, Option2.

次に、と の 2 つの要素を持つ子Formがあります:と。これらのマージ プロパティは、一致専用であり、次の場合に追加されますMenuStrip parentMenuToolStripMenuItemOption1OtherOptionOpcion1OtherOption

さて、問題は次のとおりです。子フォームが表示され、2 つが結合されると、コレクションに追加されるMenuStripため、parentMenu.ItemAdded イベントがトリガーされます。の場合はそうではありません。親フォームには存在しない要素が(子フォームに) ある場合があることに注意してください。OtherOptionparentMenu.ItemsOption1Option1.DropDownItemsOption1.DropDownItems

これらのアイテムが追加されたという通知を受け取るにはどうすればよいですか?

(わかりやすくするために: 「optionA」などのaのみを含むparentMenu.Itemsaのみが含まれているとします。または、どの要素が新しいかを知りながら、2 つのメニューのマージについてどのように通知を受け取ることができますか?)。ToolStripMenuItem Option1ToolStripMenuItemchildMenu.ItemsToolStripMenuItem Option1ToolStripMenuItem optionB

4

1 に答える 1

0

「MenuStrip のマージは、MainMenu の場合のようにメニュー項目を複製するのではなく、ある ToolStrip から別の ToolStrip に移動します。」ここを参照してください。

クローンではなく移動しているため、 でOwnerChangedイベントを試してくださいToolStripItem。アイテムごとにこのイベントに接続すると、アイテムが別のツールストリップに移動したときに通知されます。

于 2013-11-17T19:15:59.393 に答える