为什么treeView1.SelectedNode指向一个节点并且在你已经执行“treeView1.SelectedNode = null”之前没有为空?

时间:2010-12-17 09:06:38

标签: c# .net winforms treeview

似乎

treeView1.SelectedNode = null 

不起作用,是吗?但之前,在某些时候,通过我的开发,它起作用了,SelectedNode被取消了,但突然之间却没有。

3 个答案:

答案 0 :(得分:3)

如果树视图没有焦点,则只能将SelectedNode设置为null。一旦它获得焦点,控件就会再次选择节点。例如:

    private void button1_Click(object sender, EventArgs e) {
        treeView1.SelectedNode = null;
        if (treeView1.SelectedNode == null) Console.WriteLine("okay");
        treeView1.Focus();
        if (treeView1.SelectedNode != null) Console.WriteLine("okay");
    }

输出:
还好
没关系

这是设计原生的TreeView控件真的很喜欢选择。

答案 1 :(得分:2)

调试这个很容易。

treeView1.SelectedNode = null;
Debug.Assert(treeView1.SelectedNode == null);

答案 2 :(得分:0)

将其置于Shown

yourForm事件中
 private void Form1_Shown(object sender, EventArgs e)
 {
        treeView1.SelectedNode = null;
 }