【问题标题】:automatically update a list from TreeView C#从 TreeView C# 自动更新列表
【发布时间】:2012-09-25 13:07:32
【问题描述】:

我想询问在这种情况下我应该如何实施解决方案的意见。

DataItem A = someDataItem;
DataItem B = someDataItem;
DataItem C = someDataItem;
DataItem D = someDataItem;

//CreateNode : this function convert the DataItem into TreeNode
TreeNode nodeA = CreateNode(A);
TreeNode nodeB = CreateNode(B);
TreeNode nodeC = CreateNode(C);
TreeNode nodeD = CreateNode(D);

//add the nodes to a TreeView component here
treeView.Nodes.Add(nodeA);
treeView.Nodes.Add(nodeB);
treeView.Nodes.Add(nodeC);
treeView.Nodes.Add(nodeD);

List<DataItem> specialWatchedNodeList = new List<DataItem>();
specialWatchedNode.Add(nodeA);
specialWatchedNode.Add(nodeD);

我有包含所有节点的treeView。但是,我只有其中一些我想被监视(被监视)=>(nodeAnodeD)。如果treeView 中的nodeAnodeD 发生任何事情,我应该如何更新specialWatchedNodeList 中的nodeAnodeD

【问题讨论】:

  • 这是winforms、asp、WPF、silverlight、windows phone还是什么?
  • windows 窗体应用程序

标签: c# winforms events treeview


【解决方案1】:

您可以通过在 DataItem 类上实现 INotifyPropertyChanged 接口来在 DataItem 更改时接收事件。

http://msdn.microsoft.com/en-us/library/ms743695(v=vs.100).aspx

您需要声明 PropertyChanged 事件,然后创建 OnPropertyChanged 方法。对于您想要更改通知的每个属性,只要属性更新,您就调用 OnPropertyChanged

【讨论】:

    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    相关资源
    最近更新 更多