在TreeView,ListBox或它似乎從我的谷歌搜索任何與ScrollBar,ScrollBar不被視爲控件的一部分。TreeView MouseLeave事件在滾動條上移動時觸發
我有一個TreeView,我把它放在一個自定義控件中,它是Dock填充。所以它就像一個自定義的TreeView一樣,它擁有我們所有的邏輯來管理它。
在我們的程序的某些部分,我們根據MouseEnter事件將其滑出,然後將其滑回到MouseLeave事件中,但是我們目前正在使用第三方庫的TreeView來執行此操作,因此我一直負責進行替換。
所以我把所有的東西都移到了Windows的TreeView中,但是找不到一個可靠的捕獲MouseLeave的方法 - 只有它離開了整個TreeView,包含了滾動條。
我已經看到了一個黑客解決方案,將它包裝在一個具有幾個像素的面板中,並捕獲面板的MouseLeave,但我幾乎不相信這是微軟在這種情況下打算做的。
在短:
的滾動條不火的MouseEnter或鼠標離開的控制,這使得使用的MouseEnter /鼠標離開滑動了控制,因爲用戶無法使用滾動條無法使用。
處理這種情況的首選方法是什麼?
這是.net,無權訪問WndProc或WM_NCMOUSEMOVE – 2010-01-08 20:10:10
確實如此,WndProc()是TreeView類的一種方法,您可以在自己的派生類中重載該方法。 WM_NCMOUSEMOVE是一個數字,它是0xa0。檢查MSDN文檔。 – 2010-01-08 20:37:40