首页 > Windows开发 > 详细

C# Winform中如何禁用TreeView的某个节点

时间:2014-09-28 12:26:53      阅读:1857      评论:0      收藏:0      [点我收藏+]

转载处:http://shancheng2007.blog.163.com/blog/static/496838952010111452015761/

 

没找到如何禁用某个节点的直接方法,所以就把要禁用的节点ForeColor设成灰色的
然后在TreeView的BeforeSelect, BeforeCheck事件里根据节点颜色判断,如果是灰色的,则不让用户选中该节点

参考代码如下 

using System.Drawing;

  //禁用第一个节点
  treeView1.Nodes[0].ForeColor = Color.Gray;

可以在绑定数据完成后进行,也可以在绑定过程中指定,看个人了和需求了

private void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node != null)
            {
                if (e.Node.ForeColor == Color.Gray)
                {
                    e.Cancel = true;  //不让选中禁用节点
                }
            }
        }
        private void treeView1_BeforeCheck(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node != null)
            {
                if (e.Node.ForeColor == Color.Gray)
                {
                    e.Cancel = true; //不让选中禁用节点
                }
            }
        }


处理选种节点的时候

  foreach (TreeNode c_tn in tr_SubDepDev.Nodes)
                {
                    if (c_tn.Checked && c_tn.ForeColor != Color.Gray)//设备节点被选中
                    {
                        //在这里处理

                    }
                } 

 

这样就可以达到基本的目的了~

C# Winform中如何禁用TreeView的某个节点

原文:http://www.cnblogs.com/yangxinghua/p/3998007.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!