В TreeView, ListBox или, как мне кажется из моего поиска в Google что-либо с помощью ScrollBar, ScrollBar не считается частью элемента управления.
У меня есть TreeView, который я помещаю в пользовательский элемент управления, и это Dock Fill. Таким образом, он действует как пользовательский TreeView, который имеет всю нашу логику для управления им в одном месте.
В некоторых частях нашей программы мы выдвигаем его на основе события MouseEnter и возвращаем его обратно на событие MouseLeave, однако в настоящее время мы используем для этого TreeView сторонней библиотеки, которую мне поручено заменить.
Итак, я переместил все в Windows TreeView, но не могу найти способ надежного захвата MouseLeave - только - если он оставляет весь TreeView, включая полосу прокрутки.
Я видел одно хакерское решение обернуть его в панель с несколькими пикселями и захватить MouseLeave панели, но я вряд ли верю, что именно это Microsoft намеревалась сделать в этой ситуации.
Вкратце:
ScrollBar не запускает MouseEnter или MouseLeave для элемента управления, и это делает использование MouseEnter / MouseLeave для выдвижения элемента управления непригодным, поскольку пользователь не может использовать ScrollBar.
Каков предпочтительный способ справиться с этой ситуацией?