在 TreeView、ListBox 中,或者从我的谷歌搜索任何带有 ScrollBar 的内容中,ScrollBar 不被视为控件的一部分。
我有一个要放入自定义控件的 TreeView,它是 Dock Fill。因此,它充当了一个自定义 TreeView,它具有我们在一个地方管理它的所有逻辑。
在我们程序的某些部分中,我们根据 MouseEnter 事件将其滑出,并在 MouseLeave 事件上将其滑回,但是我们目前正在为此使用 3rd 方库的 TreeView,我的任务是替换它。
因此,我已将所有内容移至 Windows TreeView,但找不到可靠捕获 MouseLeave 的方法——仅当它离开整个 TreeView 时,包括滚动条。
我见过一种骇人听闻的解决方案,将其包装在具有多个像素的面板中并捕获面板的 MouseLeave,但我几乎不相信这是微软在这种情况下打算让我们做的事情。
简而言之:
ScrollBar 不会为控件触发 MouseEnter 或 MouseLeave,这使得使用 MouseEnter/MouseLeave 滑出控件无法使用,因为用户无法使用 ScrollBar。
处理这种情况的首选方法是什么?