2010-03-22 31 views

回答

7

您可以創建一個新的類繼承了樹節點。 對於要存儲在treenode中的每個值,請爲該值創建一個屬性。 使用Treeview時,只需將TreeNode轉換爲您的自定義TreeNode類。

例子:

public class JobTreeNode : TreeNode { 

    private int intField1; 

    public int Field1 { 
     get { 
      return intField1; 
     } 
     set { 
      intField1 = value; 
     } 
    } 
} 

使用(評論後加入)

// Add the node 
JobTreeNode CustomNode = new JobTreeNode(); 
CustomNode.Text = "Test"; 
CustomNode.Field1 = 10 
treeView1.Nodes.add(CustomNode); 


// SelectedNode 
((CustomNode)(treeView1.SelectedNode)).Field1; 
+0

我試過了,但是當我選擇節點時,我無法在文本框中顯示值。 示例: textbox1.Text = treeView1.SelectedNode.Name.ToString(); < - works textbox2.Text = treeView1.SelectedNode.IntField or IntField1.ToString(); < - does not't work – Caslav 2010-03-22 12:18:28

+2

你必須投下SelectedNode。 就像這樣:((CustomNode)(treeView1.SelectedNode))。Field1; – Rhapsody 2010-03-22 14:42:08

+0

您還必須確保您有_Add_ JobTreeNode元素。 – 2010-03-22 17:47:05

1

您可以創建一個輕量級的類來保存你的float1..6,把一個實例的標籤屬性。

或者,您可以使用Dictionary<TreeNode, FloatsClass>或者可能使用6個單獨的Dictionary<TreeNode, float>

請注意,dotNet 4有一個新的Tuple<A,B,C,...>類型,使這種情況更容易一些。

3

TreeNode的Tag屬性是「object」。你不能僅僅使用某種數據類來存儲你的數據嗎?

相關問題