treeview节点select总是返回树的第一个节点,而不是选定的一个

我正在C#Project [ Windows窗体应用程序 ]上工作,以更新从Excel表格[xls]单元[行我,列3]值的树视图节点,而在selecttreenode时,它应该更新相应的列4值[行i列4] 。 对我来说,Treenode是成功填充的,但是在selecttreenode时,它总是显示treenode的第一个元素[Not selected one]。

从Excel填充Treenode如下:[更新第3列元素中的子节点[第2列包含父节点名称,第3列具有子节点名称],如果第2列值与父节点名称[我的模块]相同,则更新子节点父节点。]

for (int i = 0; i < worksheet.UsedRange.Rows.Count; i++) { string mynode = ((Excel.Range)worksheet.Cells[i + 1, 3]).Value2.ToString(); string mynode2 = ((Excel.Range)worksheet.Cells[i + 1, 2]).Value2.ToString(); if (mynode2 == mymodule) { TreeNode ChildNode = ParentNode.Nodes.Add(mynode); ChildNode.Text = mynode; } } 

在select子节点时,它总是给第一个父节点。 而不是选定的节点。

  for (int i = 0; i < worksheet.UsedRange.Rows.Count - 2; i++) { string mynodetext = ((Excel.Range)worksheet.Cells[i + 2, 3]).Value2.ToString(); string mynodetext1 = ((Excel.Range)worksheet.Cells[i + 2, 4]).Value2.ToString(); if (treeView1.SelectedNode.FirstNode.Text == mynodetext) { this.richTextBox1.SelectedText += Environment.NewLine + mynodetext1 + Environment.NewLine; } } 

请指导,如何得到正确的选定节点。

你需要使用

 treeView1.SelectedItem 

访问该值。 请记住,与列表框和combobox控件相比,这是一个只读属性。