码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2014-09-28 14:09:02      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:des   winform   blog   http   color   ar   for   数据   sp   

转载处: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的某个节点

标签:des   winform   blog   http   color   ar   for   数据   sp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!