2013-09-24 89 views
-1

我有一個樹形視圖。它由「我」父節點和「j」子節點組成。我需要確定用戶點擊了哪個「i,j」節點。我可以像下面展示的那樣獲取節點文本,但我需要確定treeView節點集合中的節點。我怎樣才能做到這一點?識別treeview節點集合中點擊的節點

private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) 
{ 
    listView1.Items.Add(e.Node.Text); 
} 

例如:假設我有一棵有5個父母的樹,每個父母有10個子節點。然後,我單擊位於第三個父級中的第一個子節點。我需要接收在這種情況下的(i,j)對,(2,0)。

雷南

+1

'e.Node'是被點擊的節點。你還需要什麼? –

+0

你想在節點上識別什麼? ID,姓名等...? –

+0

你在這裏提到過'i'和'j',但是如何將這些信息填入你的'nodes'? –

回答

1

您可以使用TreeNodeIndex屬性來獲取其在TreeNodeCollection位置。試試這個:

private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) 
{ 
    TreeNode parent = e.Node.Parent; 
    string i = parent == null ? "No parent" : parent.Index; 
    listView1.Items.Add(string.Format("{0}:{1}",i,e.Node.Index); 
} 

注意:我想你想顯示"No parent"parent is null。您可以在這種情況下處理自己(例如丟棄該案例)。

+0

只需使用TreeNode.Level而不是驗證父級。 –

+0

這樣做。謝謝@ king-king – Renang010

+0

@ Renang010通過接受一個有用的答案表示感謝會更好:) –