为什么kmltreeview.nodemouseclick会在创建文件夹时触发?

时间:2012-12-06 17:54:17

标签: c# events google-earth-plugin

我有以下代码在kmltreeview中创建一个文件夹:

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

由于某些原因,使用此代码,NodeMouseClick函数以“Mobiles”节点作为'e'参数触发:

CodeSnippet

如果我注释掉代码,事件就不会触发。如果我添加更多文件夹,那么也会触发事件。

(我没有点击任何东西 - 只需要F5开始并让它运行。)

有什么想法吗?

1 个答案:

答案 0 :(得分: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
  };