Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C查找树视图中所有选中的节点#_C#_Treeview - Fatal编程技术网

C# 如何使用C查找树视图中所有选中的节点#

C# 如何使用C查找树视图中所有选中的节点#,c#,treeview,C#,Treeview,这是我正在使用的代码,但我总是从函数中得到一个空白字符串。 我如何解决这样的问题 private string GetArrayofCheckedNodes() { string arrCheckedNodes = ""; ArrayList al = new ArrayList(); foreach (TreeNode node in TreeView1.Nodes) { if (node.Checked == true) // Checking

这是我正在使用的代码,但我总是从函数中得到一个空白字符串。

我如何解决这样的问题

private string GetArrayofCheckedNodes()
{
    string arrCheckedNodes = "";
    ArrayList al = new ArrayList();
    foreach (TreeNode node in TreeView1.Nodes)
    {
        if (node.Checked == true) // Checking whether a node is checked or not.
        {
            al.Add(node.Text);
        }
    }
    for (int i = 0; i < al.Count; i++)
    {
        arrCheckedNodes += al[i].ToString() + " , ";
    }
    return arrCheckedNodes;
} 
私有字符串GetArrayofCheckedNodes()
{
字符串arrCheckedNodes=“”;
ArrayList al=新的ArrayList();
foreach(TreeView1.Nodes中的TreeNode节点)
{
if(node.Checked==true)//检查节点是否已检查。
{
al.Add(node.Text);
}
}
对于(int i=0;i
我假设您想要所有选中的节点
TreeView1.Nodes
仅返回第一级,因此需要在树下递归。此外,还可以使用
string.Join()
将结果值连接在一起

private string GetArrayofCheckedNodes()
{
    return string.Join(" , ", GetCheckedNodes(treeView1.Nodes));
}

public List<string> GetCheckedNodes(TreeNodeCollection nodes)
{
    List<string> nodeList = new List<string>();
    if (nodes == null)
    {
        return nodeList;
    }

    foreach (TreeNode childNode in nodes)
    {
        if (childNode.Checked)
        {
            nodeList.Add(childNode.Text);
        }
        nodeList.AddRange(GetCheckedNodes(childNode.Nodes));
    }
    return nodeList;
}
私有字符串GetArrayofCheckedNodes()
{
返回字符串.Join(“,”,GetCheckedNodes(treeView1.Nodes));
}
公共列表GetCheckedNodes(TreeNodeCollection节点)
{
列表节点列表=新列表();
如果(节点==null)
{
返回节点列表;
}
foreach(节点中的TreeNode子节点)
{
if(childNode.Checked)
{
添加(childNode.Text);
}
AddRange(GetCheckedNodes(childNode.Nodes));
}
返回节点列表;
}

对不起,之前有一个小错误。我现在已经改正了!