0

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

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

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

代码片段

如果我注释掉代码,则事件不会触发。如果我添加更多文件夹,这些文件夹也会触发该事件。

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

有什么想法吗?

4

1 回答 1

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
  };
于 2012-12-07T02:13:14.640 回答