Событие MouseLeave стреляет при отодвижении ScrollBar управления

Я повторно отправляю этот вопрос из-за неспособности решить проблему (исходный здесь).

В TreeView ListBox, или которым это кажется от моего Google, ищет что-либо с ScrollBar, ScrollBar не считают частью управления.

У меня есть TreeView, который я помещаю в пользовательский элемент управления, и это - Заливка Прикрепления. Таким образом, там это действует как пользовательский TreeView, который имеет всю нашу логику для управления им в одном месте.

В частях нашей программы мы выдвигаем его на основе События MouseEnter и слайда, это въезжает задним ходом на событии MouseLeave, однако мы в настоящее время используем стороннюю библиотеку TreeView для этого, которое для меня определили задачу с заменой.

Таким образом, я переместил все в Windows TreeView, но не могу найти путь к надежному получению MouseLeave - только-если это покидает весь TreeView, полоса прокрутки включенный.

Я видел одно hackish решение обертывания его в панели с несколькими пикселями и получении MouseLeave панели, но я едва полагаю, что это - то, что Microsoft предназначила нас, чтобы сделать в этой ситуации.

Короче говоря:

ScrollBar не запускает MouseEnter или MouseLeave для управления, и это делает использование MouseEnter/MouseLeave для того, чтобы выдвинуть управление, неприменимое, так как пользователь не может использовать ScrollBar.

Что предпочтительный путь состоит в том, чтобы обработать эту ситуацию?

В предыдущем вопросе мне дали совет использовать Шпиона ++ и попытаться присоединить к WndProc () для обработки MouseEnter/MouseLeave для ScrollBar.

Это однако не работало сообщениями Шпион ++, показал, не стреляли в WndProc () на уровне формы или уровне управления. Это - как будто.NET просто не видит ScrollBar.

Используя WndProc () также кажется нереалистичным для такого простого запроса, есть ли какой-либо другой способ сделать это, или если WndProc () является единственным путем, кто-либо на самом деле смог достигнуть этого и показать мне как?

5
задан Community 23 May 2017 в 12:30
поделиться