Почему treeView1.SelectedNode указывает на узел и не обнуляется, если до этого уже выполнялось «treeView1.SelectedNode = null»? - PullRequest
0 голосов
/ 17 декабря 2010

Кажется, что

treeView1.SelectedNode = null 

не работает, не так ли?Но раньше, через какое-то время в моей разработке, это работало, SelectedNode обнуляется, и вдруг это не так.

Ответы [ 3 ]

3 голосов
/ 17 декабря 2010

Вы можете установить для 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 действительно любит иметь выбор.

2 голосов
/ 17 декабря 2010

Это легко отладить.

treeView1.SelectedNode = null;
Debug.Assert(treeView1.SelectedNode == null);
0 голосов
/ 17 декабря 2010

Поместите его в Shown событие yourForm

 private void Form1_Shown(object sender, EventArgs e)
 {
        treeView1.SelectedNode = null;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...