在树节点前面签名

时间:2009-08-18 15:04:18

标签: c# visual-studio treeview

HI,

我正在使用Visual Studio 2005在C#中使用树视图,并希望在我的Windows窗体应用程序中按下按钮时找到一个树节点并在其下面添加节点。  我尝试过使用treeView1.Nodes.Find(“My_Text”,true); 其中“My_Text”是与我想要添加模式节点的节点相关联的文本。

但是我无法找到一种方法来利用这个优势,因为我不知道这句话的回报。

我想要使用treeView1.SelectedNode.Nodes.Add(newnode);添加节点,但为此我需要先选择一个节点。并且treeView1.Nodes.Find看起来并不像我为我选择节点。有什么帮助吗?

4 个答案:

答案 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方法添加子节点,显然,如果阵列中有多个节点,则您具有非唯一情况,因此如果您要查找特定节点,则需要更多信息要识别它。