【问题标题】:Event for TreeView when nodes are removed or being added删除或添加节点时的 TreeView 事件
【发布时间】:2011-12-08 21:53:04
【问题描述】:

在删除或添加节点时,winforms 中是否存在TreeView 控件事件?

如果不是,我如何自己将事件添加到 TreeView?

【问题讨论】:

  • 不,用户无法添加或删除节点。它始终由您自己的代码完成。由于您编写了添加节点的代码,因此无需提醒您添加了节点。如有必要,您可以发起自己的活动。
  • @Hans 我同意它应该由我控制。问题是我已经为我的应用程序编写了很多代码,现在我可以选择返回并编辑所有对树视图执行某些操作的代码,或者使用这些事件创建一个新的树视图,所以我只需要添加一个事件处理程序!

标签: c# winforms treeview


【解决方案1】:

简单的答案是,没有包罗万象的方法可以做到这一点。

如果您完全控制环境,您可以创建一个类包装器并让所有客户端调用它的 Add() 方法。

但是,大多数代码都适用于 TreeNodeCollection - 您无法替换它。

所以, myTree.Nodes[0].Nodes.Add(...); 或者 myNode.Nodes.Add(...); 或其他路径,如 数据绑定...

将绕过自定义方法。

【讨论】:

    【解决方案2】:

    查看http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treeview_events%28v=VS.90%29.aspx,似乎没有用于添加/删除的默认 EventHandle

    所以你可以做的是编写一个继承自 Tree View 的自定义 treeView。

    那么你可以拥有 覆盖添加 -> 触发你的事件处理程序

    【讨论】:

    • 错误的类,这是一个 Winforms 问题。否则正确。
    • 好答案+1,请编辑指向 System.Windows.Forms.TreeView 的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2020-12-29
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多