他のアプリケーションが.NETで記述されている場合は、実際のWindowsコントロールとして登録されるのではなく、一部の.NET System.Windows.Formsがグラフィックで表示されるためです。これはもともと、.NETフォームとWindowsの間に相違があったためです.Netは、当時Windowsのバージョンではサポートされていなかったコントロール機能を提供しようとしていました。今、この相違は、2つのグループが完全に相容れないために和解しようとすると費用がかかりませんが、それが真であるかどうかはまだ分かりません。
LB_SELITEMRANGEEXは、メッセージを送信する方法を理解できたとしても、カスタム.NETコントロールでは理解できないことに注意してください。
私が見ることができるWindowsコンテナコントロール(.NET Panelオブジェクトにラップされたグループ化コントロール)によって子コントロールがどのように所有されているかを調べることをお勧めします。異なっていることを除いて明らかな理由がないためにコントロール階層を難読化する。特に、リストボックスの周りをクリックすると、通常のWindowsコントロールメッセージが渡されているかどうかを判断するために、イベントメッセージを監視します。
これらがWindowsコントロールとして登録されていないカスタム.NETコントロールである場合、オプションは制限されます。 .NETは、組み込みのWindowsメッセージシステムではなく、イベントを管理するイベントコールバックへのポインタにほとんど依存しています。実行中のWindowsアプリケーションごとのCLRインスタンスは別です。 Formオブジェクトへのポインタを取得できても、マネージヒープや仮想メモリ空間を共有しないため、アプリケーション全体でそのオブジェクトを使用することはできません。
アプリケーションの開発を支配している場合は、外部から見えるメッセージを追加してこれを助けることができますが、そうした場合は、このようなメッセージを送信する必要はないと思います。これらのコントロールのほとんどが元々直接上に構築されていたため、特定のコントロールにWindowsメッセージングシステムを通過するメッセージングインターフェイスがある場合、送信するメッセージと送信場所を把握できますWindowsのコントロールの、その後、後で発散。