HI,
我正在使用Visual Studio 2005在C#中使用树视图,并希望在我的Windows窗体应用程序中按下按钮时找到一个树节点并在其下面添加节点。 我尝试过使用treeView1.Nodes.Find(“My_Text”,true); 其中“My_Text”是与我想要添加模式节点的节点相关联的文本。
但是我无法找到一种方法来利用这个优势,因为我不知道这句话的回报。
我想要使用treeView1.SelectedNode.Nodes.Add(newnode);添加节点,但为此我需要先选择一个节点。并且treeView1.Nodes.Find看起来并不像我为我选择节点。有什么帮助吗?
答案 0 :(得分:1)
您需要使用SelectedNode.Nodes.Add()吗? Nodes.Add(...)操作可以在任何TreeNode上执行。因此,如果您可以找到该节点,只需调用node.Nodes.Add(..)。您无需先选择它。
查看文档或智能感知信息,了解Find()方法返回的内容。
答案 1 :(得分:1)
您确定应用程序中存在带有文本的节点吗?我刚刚尝试了一个简单的测试应用程序,并且Find方法没有问题......
private void button1_Click(object sender, EventArgs e) {
// WARNING: add checks
TreeNode[] nodes = treeView1.Nodes.Find("Node2",true);
TreeNode node = nodes[0];
node.Nodes.Add("child node");
}
答案 2 :(得分:1)
treeView1.Nodes.Find()
返回TreeNode
个对象的数组。如果您确定只有一个此类节点,则可以执行以下操作:
var node = treeView1.Nodes.Find("My_Text", true)[0];
node.Nodes.Add(newnode);
如果可以有多个这样的节点,则需要一些其他方法来消除歧义。如果没有这样的节点,你还需要在那里添加一些错误检查。
答案 3 :(得分:0)
TreeView.Nodes.Find返回与您指定的字符串匹配的节点数组。然后,您可以在节点上使用Add方法添加子节点,显然,如果阵列中有多个节点,则您具有非唯一情况,因此如果您要查找特定节点,则需要更多信息要识别它。