2011-11-21 39 views
1

来自Win32,我遇到了一些问题或尝试使用treeview for .NET的问题。我在网上搜索,msdn库和stackoverflow,似乎没有帮助我。如何使用TreeView for .NET?

可能有人,请告诉我你如何使用树视图创建节点,创建childnode,设定数据或对象,检索对象,检查其水平,等等

示例代码将不胜感激。谢谢。

+2

的WinForms或WPF? –

+0

+1有用的问题。 –

+0

@安娜李尔,Winform首选。 – ThN

回答

3

1)创建一个根节点

使用Nodes.Add方法

treeView1.Nodes.Add('A Node'); 

2)创建一个子节点,获取实例给父节点,并使用Nodes.Add

Node.Nodes.Add('A Child Node'); 

3)要存储阳极中的物体,请使用节点的Tag属性

Node.Tag:=MyObj; 

4)要检索对象,请使用标记属性并转换值。

MyObj2:= TMyObject(Node.Tag); 

5)获取该级别,获得该节点的Level属性。

检查这个简单的代码:

Var 
    Node  : TreeNode; 
    MyObj : TMyObject; 
    MyObj2 : TMyObject; 
begin 
    Node:=treeView1.Nodes.Add('A Node'); //add a root node 
    Node.Text:= String.Format('{0} in level {1}',Node.Text,Node.Level); 

    Node.Nodes.Add('A Child Node'); 
    Node.Nodes.Add('Another Child Node'); 
    Node:=treeView1.Nodes.Add('Another Node'); 

    MyObj:=New TMyObject; 
    MyObj.Foo:='Hello'; 
    Node.Tag:=MyObj;//set the object 



    MyObj2:= TMyObject(Node.Tag); //get the assigned object 
    MessageBox.Show(MyObj2.Foo); 

end; 
+0

很好的答案。如果我可能会问,你如何找到第一个节点?在C#中有FirstNode属性,但在Delphi Prism中没有看到该选项。 – ThN

+0

C#中存在的所有属性都存在于Delphi prism中,请记住哪些C#和Delphi Prism(以及所有.Net语言)使用相同的框架。 [FirstNode](http://msdn.microsoft.com/en-us/library/system.windows.forms.treenode.firstnode%28v=VS.80%29.aspx)是每个节点(TreeNode)的一部分你可以象这样的'Node.FirstNode'那样获得这个特性。 – RRUZ

+0

啊,我现在看到它。非常感谢您的回答。 – ThN

相关问题