使某些节点不可见

时间:2013-07-17 20:58:07

标签: c# visual-studio-2010

我的问题是我希望能够将某些节点设置为不可见。我有两种形式。第二个是填充的巫婆复选框,名称与第一种形式的节点相同。选中其中一个复选框后,我想让第一个窗体中的节点不可见。在表单之间传递数据是有效的,因为我使用MessageBox进行了测试。

第二种形式的代码(使节点不可见的责任):

        private void button1_Click(object sender, EventArgs e)
    {
        if (checkBox1.Checked == true)
        {
            Form1.a = true;
        }


        this.Close();
    }

包含节点的第一个表单中的代码:

    public static bool a;
    public static bool b;

    private void Categories()
    {
        if(a == true)
            {
                treeView1.Nodes[0].IsVisible = false;
            }

    }

我得到的错误:

Property or indexer 'System.Windows.Forms.TreeNode.IsVisible' cannot be assigned to -- it is read only

1 个答案:

答案 0 :(得分:4)

而不是使树节点不可见。我想你应该在你不想显示它时将它从集合中删除,如果你想要显示它,你必须再次添加它。

您可以使用删除功能删除节点

tree.Nodes.Remove(myNode);

您可以尝试这样的事情

private void Categories()
{
  if(a == true)
  {
    treeView1.Nodes[0].Remove();
   }
}