以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 如何高亮显示目录树节点 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59997)
|
-- 作者:HappyFt
-- 发布时间:2014/11/16 10:18:00
-- 如何高亮显示目录树节点
就想实现当用代设置了某个节点是SelectedNode时就高亮显示,其他节点恢复默认值,换另一个节点时相同,如下代码:
For Each nd As winform.treenode In tr.allNodes nd.backColor = Color.White \'恢复节点默认颜色 Next For Each nd As winform.treenode In tr.Nodes If nd.Name = Mtbn Then \'---选中当前节点 tr.SelectedNode = nd tr.SelectedNode.backColor = Color.LightSkyBlue Exit For \'退出循环 End If Next
但执行后选中的节点还是默认的无颜色,是什么原因?还是有其他办法
谢谢!
|
-- 作者:有点甜
-- 发布时间:2014/11/16 10:27:00
--
当前节点的颜色和你设置的颜色冲突。
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") For Each nd As winform.treenode In tr.allNodes nd.backColor = Color.White \'恢复节点默认颜色 Next For Each nd As winform.treenode In tr.allNodes If nd.Name = Mtbn Then \'---选中当前节点 \'tr.SelectedNode = nd nd.backColor = Color.LightSkyBlue Exit For \'退出循环 End If Next
|
-- 作者:HappyFt
-- 发布时间:2014/11/16 10:50:00
--
原来是这样,除了这种每次都要先遍历取消再显示的方式还有没有更简单的方式?
此主题相关图片如下:360截图20141116-1.jpg
另外系统选中节点时显示的那种蓝色是什么蓝?skyblue等怎么设置颜色都和它不一样。
|
-- 作者:有点甜
-- 发布时间:2014/11/16 11:03:00
--
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") For Each nd As winform.treenode In tr.allNodes nd.backColor = Color.White \'恢复节点默认颜色 nd.ForeColor = Color.black \'恢复节点默认颜色 Next For Each nd As winform.treenode In tr.allNodes If nd.Name = Mtbn Then \'---选中当前节点 \'tr.SelectedNode = nd nd.backColor = Color.FromARGB(0.5, 49, 106, 197) nd.ForeColor = Color.White Exit For \'退出循环 End If Next
|