【问题标题】:treeview error in winformswinforms中的treeview错误
【发布时间】:2011-06-09 04:31:51
【问题描述】:

我有三个Buttons、一个TextBox 和一个TreeView。我正在向TreeView 动态添加节点。我使用了一些代码,它适用于第一个(根)按钮。它显示其他两个按钮的Object reference not set to an instance of an object 错误。我的三个按钮是:Add rootAdd childDelete

我的代码:

private void button1_Click(object sender, EventArgs e)
{
    TreeNode t;
    t = treeView1.Nodes.Add(textBox1.Text);
}

private void button2_Click(object sender, EventArgs e)
{
    TreeNode t;
    t = treeView1.SelectedNode;
    t.Nodes.Add(textBox1.Text);
    treeView1.SelectedNode.ForeColor = Color.Red;
}

private void button3_Click(object sender, EventArgs e)
{     
    treeView1.SelectedNode.Remove();
}

【问题讨论】:

  • 您应该为新问题创建一个新问题,因为该问题已标记为已回答。将来搜索此错误以找到与标题/原始问题相关的答案时,它将帮助其他人。
  • 感谢您的好建议

标签: c# .net winforms treeview


【解决方案1】:

当你访问treeView1.SelectedNode时抛出异常,此时没有选中项。

解决方法可能是:

private void button3_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode != null)
        treeView1.SelectedNode.Remove();
}

【讨论】:

    【解决方案2】:

    可能的问题是,您在删除/添加子节点之前没有选择树视图节点中新添加/现有的项目。

    在执行添加子之前检查什么是 t。

    第一次工作,因为选择了根,下次不工作,因为不再选择添加的新项目。

    【讨论】:

      【解决方案3】:

      这可能是你没有选择任何东西,你可以告诉用户选择或者你可以手动选择。

      private void button3_Click(object sender, EventArgs e)
      {
          if (treeView1.SelectedNode != null)
              treeView1.SelectedNode.Remove();
         else
            Messagebox.Show ("Please select the node first");
      }
      
      private void button1_Click(object sender, EventArgs e)
          {
              TreeNode t;
              t = treeView1.Nodes.Add(textBox1.Text);
              treeView1.SelectedNode = t;
      
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-18
        • 1970-01-01
        • 1970-01-01
        • 2017-04-04
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 2010-10-22
        相关资源
        最近更新 更多