Как сделать свойство TreeView.SelectedNode обнуляемым, не обнуляя текущий узел в SelectedNode? - PullRequest
1 голос
/ 17 декабря 2010

Если используется TreeView.SelectedNode = null, будет ли он также обнулять объект узла на SelectedNode?

Ответы [ 2 ]

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

Вы, кажется, путаете ссылки и объекты . У вас может быть ссылка null (которая вообще не ссылается на объект), но в C # такого понятия как объект null нет.

Если, с другой стороны, вы обеспокоены тем, что установка свойства SelectedNode на null приведет к вытеснению выбранного выбранного узла из TreeView, это не так - этот узел будет просто быть невыбранным .

РЕДАКТИРОВАНИЕ : Возможно, вы обеспокоены тем, что значения других переменных, которые содержат ссылки на выбранный в данный момент узел, будут установлены в null, если свойство SelectedNode будет установите на null. Это также не так:

TreeView treeView = ...

TreeNode node = new TreeNode();    
treeView.Nodes.Add(node);

treeView.SelectedNode = node;

treeView.SelectedNode = null; 
bool isNodeNull = (node == null); // false
2 голосов
/ 17 декабря 2010

Нет. Свойство SelectedNode относится только к узлу, выбранному в данный момент, поэтому вы можете установить его на null без «обнуления объекта узла».Он просто отменяет выбор любого узла, выбранного в данный момент в элементе управления TreeView.

Согласно документации :

Если в данный момент не выбран ни один TreeNodeсвойство SelectedNode имеет значение Nothing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...