0
我有一個TreeView並且ShowPlusMinus被設置爲true。我還希望節點(僅限父母)在單擊文本時進行切換。這是我的NodeMouseClick事件處理程序:TreeView NodeMouseClick - 如何判斷點擊了哪個部分
private void NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.GetNodeCount(true) == 0)
{
if (MapClick != null) MapClick(this, e); // fire an event that a child was clicked
}
else
{
e.Node.Toggle();
}
}
我無法使用AfterSelect,因爲即使節點已被選中,也需要切換。
NodeMouseClick的問題在於,當用戶單擊加號/減號圖標時,它也會被調用。所以節點切換兩次。我需要防止默認行爲,並始終執行自己的切換,或者我需要檢測項目被點擊的位置,並且只在不在加號/減號時進行切換。
哦,是的,我忘了HitTest。是的,基本上邏輯是如果節點是父節點(文件夾層次結構)則切換節點,或者如果它是子節點(實際的「地圖文檔」)則觸發事件。我會嘗試HitTest。我敢肯定,這將工作! –