アプリケーションのプラグインを開発しています。作成したコントロールをホストアプリケーションに登録する必要があります。登録しないと、メッセージを受信せず、事実上無効になります。登録は、コントロールのウィンドウハンドルを使用して実行されます。(この部分を与えられたものとして扱ってください、それは私がこれを必要とする理由についての背景にすぎません。)
これを行うために、作成するすべてのWinFormsコントロールについて、そのHandleCreatedイベントとHandleDestroyedイベントを使用して、コントロールのハンドルとそれが所有する子コントロールを再帰的に登録/登録解除します。
で同じことができます。ContextMenuStripこれは最初のレベルのアイテムでは問題ありませんが、これらのアイテムのいずれかにサブメニューがある場合、開くために開いたサブメニューのハンドルを取得する方法がわかりません。登録してください。
ToolStripMenuItemオブジェクトはから継承し、からは継承しSystem.ComponentModel.ComponentないSystem.Windows.Forms.Controlため、.HandleプロパティもイベントもHandleCreatedありません。HandleDestroyed
(作成時に)ハンドルが必要なウィンドウについては、画像を参照してください。
