TreeView、ListBox、または私のグーグル検索からスクロールバーで何かを検索しているように見えますが、スクロールバーはコントロールの一部とは見なされません。
カスタム コントロールに入れている TreeView があり、それは Dock Fill です。そこで、それを 1 か所で管理するためのすべてのロジックを持つカスタム TreeView として機能します。
私たちのプログラムの一部では、MouseEnter イベントに基づいてスライド アウトし、MouseLeave イベントでスライドして戻しますが、現在、これにはサード パーティ ライブラリの TreeView を使用しており、これを置き換える作業が行われています。
そのため、すべてを Windows TreeView に移動しましたが、スクロールバーを含めて TreeView 全体をそのままにしておくと、MouseLeave のみを確実にキャプチャする方法が見つかりません。
いくつかのピクセルでパネルをラップし、パネルの MouseLeave をキャプチャするというハックな解決策を見たことがありますが、これが Microsoft がこの状況で私たちに意図したことであるとは信じがたいです。
要するに:
ScrollBar はコントロールに対して MouseEnter または MouseLeave を起動しません。これにより、ユーザーが ScrollBar を使用できないため、コントロールをスライドさせるために MouseEnter/MouseLeave を使用できなくなります。
この状況を処理するための好ましい方法は何ですか?