我搜索了一下Google,但找不到有用的东西。 TreeView的行为就像当你将一个节点添加到树中一样,默认情况下它会被选中,这意味着你应该有一个选定的节点,除了Tree是空的时候。如何禁用TreeView自动第一个节点选择
有什么方法可以覆盖或禁用它?
我搜索了一下Google,但找不到有用的东西。 TreeView的行为就像当你将一个节点添加到树中一样,默认情况下它会被选中,这意味着你应该有一个选定的节点,除了Tree是空的时候。如何禁用TreeView自动第一个节点选择
有什么方法可以覆盖或禁用它?
TreeView tv1 = new TreeView();
TreeNode selected = tv1.SelectedNode;
//do your add here
tv1.SelectedNode = selected;
这不会禁用节点选择。此外,我使用的是可视化TreeView,而不是基于代码的。现在,这就像我得到选定的节点,然后把它放回选择,所以有什么区别,而TreeView仍然不能使节点不被选中? – MahanGM
哦,我刚刚得到你,你想没有选定的节点,对不对?
就是这么简单:
treeView1.SelectedNode = null;
这不会做到这一点:)。我曾尝试过。 – MahanGM
但它适用于我,我在测试它之前回答 –
当我将selectedNode设置为null我没有选定的节点,这很奇怪,你可以上传你的代码? –
使用更高的tabindex值 - 即,一旦您的表单加载第一个tabstop不应该是您的TreeView控件。
TreeView1.TabIndex = 2;
或u还可以使用
TreeView1.TabStop = false;
不能相信我没有想到这是问题!现在,如果我能弄清楚如何禁用选择任何节点的能力,我将会处于良好状态。 – Codezilla
你可以保留以前选择的节点中的对象,然后添加节点,那么选择的节点设置为保存节点。 –
这是一个处理根的好方法,但是如果选定的节点将在任何父节点下,那么我必须记住父节点,然后将保留的节点添加回到正确的父节点。有没有其他方法? – MahanGM
我认为你可以通过它的KEY保留选定的节点,那么你不需要记住父节点,即使你确定你需要父节点,你可以用foreach循环找到它并找出你保存的节点是谁父亲是。 –