2019年12月11日 星期三

[VB.NET] TreeView.NodeMouseClick 事件迴避 Collapse/Expand

Dot Net的TreeVie元件如果有開啟checkbox屬性,可以在Before/AfterCheck事件,利用e.Action處理類似的問題。

如果沒有開啟checkbox,一開始只找到在Before/After Collapse加入boolean變數,辨別是否正在執行展開/關閉TreeView動作,但是實測後與NodeMouseClick的觸發順序無法配合。

下面這個方法是可以運作的,也更好理解:
Dim hit As TreeViewHitTestInfo = TreeView1.HitTest(e.Location)
If hit.Location = TreeViewHitTestLocations.PlusMinus Then Return
如果點擊位置在TreeView元件的展開/關閉圖示,則退出Module執行。