C#中怎样使控件TreeView中某个节点不可点?就像按钮灰掉不可点一样?

如上图,我想实现根据不同的登入权限,如是普通用户登录的,则树菜单中只能点击个人中心,另外用户管理、工资管理、人事管理、系统管理灰色不可点击,点击了父跟节点也不会展开。。或者是让其中的某个子节点不可点击,要怎么实现??求详细代码。。本人新人,不懂,所以求大虾门详细点。。是C# winform的

首先,C#中的TreeView的节点TreeNode没有像Button按钮一样的Enabled的属性来更改按钮是否可用,

要想实现使TreeNode节点具有类似的功能,可以遵循下列步骤:

    1.程序加载时(按需)设置特定节点的前景颜色,一般都是根节点具备不可点击的条件,代码例子:

 treeView1.Nodes[0].ForeColor = Color.Gray;

    2.注册节点的鼠标单击事件,然后在单击事件中判断如果是被禁止的节点则方法返回,代码例子:

 private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Node.Text == "节点显示的文字")
                return;
            MessageBox.Show("Test");
        }

    这样就可以很简单的模拟类似于Button按钮一样的Enabled属性效果了,当然这只是其中的一种方法。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-05
这个要实现当前用户无权限的节点为灰色、不可点击、不可展开的话要麻烦一些,其实象这种权限设置,你可以直接在构造TreeView的节点的代码中加入判断用户权限的代码,如果用户没有这个权限,那么就不构造这个节点就可以了,这样在权限树中用户就只能看到自己有权限的节点。
希望对你有帮助,有疑问请追问或是Hi本回答被提问者和网友采纳

C#中怎样使控件TreeView中某个节点不可点?就像按钮灰掉不可点一样?
首先,C#中的TreeView的节点TreeNode没有像Button按钮一样的Enabled的属性来更改按钮是否可用,要想实现使TreeNode节点具有类似的功能,可以遵循下列步骤:1.程序加载时(按需)设置特定节点的前景颜色,一般都是根节点具备不可点击的条件,代码例子:treeView1.Nodes[0].ForeColor = Color.Gray; 2.注册...

怎样对TreeView控件里的节点进行过滤
首先,C#中的TreeView的节点TreeNode没有像Button按钮一样的Enabled的属性来更改按钮是否可用,要想实现使TreeNode节点具有类似的功能,可以遵循下列步骤:1.程序加载时(按需)设置特定节点的前景颜色,一般都是根节点具备不可点击的条件,代码例子:1 treeView1.Nodes[0].ForeColor = Color.Gray;2.注册...

asp.net C# 如何让treeview控件的节点不可用
this.TreeView1.Nodes[节点索引].Expanded = false;

如何C#中实现在TreeView查找某一节点
EventArgs e) { \/\/遍历Tree中的所有根节点 foreach (TreeNode node in this.tvList.Nodes) { \/\/将每个根节点代入方法进行查找 TreeNode temp = FindNode(node, this.txtName.Text); \/\/找到输出结果 if (temp != null) { MessageBox.Show...

C#中如何用代码展开treeview中某个节点
TreeView1.Nodes[1].Expand()

C#treeView 控件节点通过点击事件判断该节点是否有子节点,如果子节点...
第一种,你点击的是TreeView控件,那么里面有这么一个方法AfterSelect可以满足你的要求 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){ TreeView tr = (TreeView)sender;if (!tr.HasChildren){ MessageBox.Show("do nothing");} } 第二种,你点击的是TreeView中的节点,...

怎样使用C#TreeView控件
1 打开Microsoft Visual Studio 2010, 新建名字为【treeView】的程序。2 在界面上添加【treeView】的控件,并调整为合适大小。3 在程序界面上加入其它需要的控件:包括,用于输入父节点个数和子节点个数的2个输入框;生成节点的按钮、删除节点的按钮、清除所有节点的按钮;输出日志信息的文本框。4 编辑...

...View中的某一行或某一个值,选中TreeView中的相应节点 跪求高手指点...
思路:1.在datagridView 单击事件中,获得你单击那一行的那个有意义的字段的值,比如ID。如果没有可以自己在加载的时候保存进datagridview中,为以后操作埋下伏笔。2.得到这个值之后,可以遍历Treeview的节点与之对照。设置选中属性即可。

用c#语言编写系统,树控件怎么实现在运行中增加节点和单击不同节点在右侧...
得用事件了,记不得树控件里有没有这个功能,应该有,我相信微软绝对想到这点了,控件吗就是和事件配合着用的

C#中如何删除treeview中选定的子节点
C#中如何删除treeview中选定的子节点的代码如下:TreeNode node = this.treeView1.SelectedNode;if (node != null){node.Remove();}

相似回答