首页 > 代码库 > C# Winform中如何禁用TreeView的某个节点
C# Winform中如何禁用TreeView的某个节点
转载处: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的某个节点