2012-12-06 57 views
0

我有下面的代碼創建的kmltreeview文件夾:爲什麼kmltreeview.nodemouseclick在創建文件夾時觸發?

  var folder = ge1.createFolder("Mobiles"); 
      folder.setName("Mobiles"); 
      kmlTreeView1.ParseKmlObject(folder); 

有了這個代碼,由於某種原因,NodeMouseClick功能與「手機」節點作爲「e」的說法射擊:

CodeSnippet

如果我註釋掉代碼,事件不會觸發。如果我添加更多的文件夾,也會觸發事件。

(我沒有點擊任何東西 - 只是F5鍵啓動,並讓它運行。)

有什麼想法?

回答

1

當一個節點作爲三態檢查機制的一部分添加到KmlTreeView時,NodeMouseClick事件被觸發。此模擬點擊用於檢查是否應檢查,部分檢查或未選中KmlContainer。當這個狀態被設置時,NodeMouseClick事件被觸發,但是給定的按鈕是沒有的。

因此,您可以通過查看按下哪個按鈕來啓動點擊來輕鬆篩選此自動檢查。

var folder = ge1.createFolder("Mobiles"); 
    folder.setName("Mobiles"); 
    kmlTreeView1.ParseKmlObject(folder); 
    kmlTreeView1.NodeMouseClick += (o, e) => 
    { 
     if (e.Button == MouseButtons.None) 
     { 
     // no actual mouse click... 
     return; 
     } 

     // handle user interactions 
    }; 
+0

Perfecto!再次感謝弗雷澤。你絕對搖滾。 – CramerTV

相關問題