使某个节点不可见

本文关键字:节点 | 更新日期: 2023-09-27 18:22:50

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

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

        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

使某个节点不可见

而不是使树节点不可见。我认为当你不想显示它时,你应该把它从收藏中删除,如果你想显示它,你必须再次添加它。

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

tree.Nodes.Remove(myNode);

你可以试试这种

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