C# treeview 删除某个节点

2025-03-02 04:03:51
推荐回答(3个)
回答1:

参考代码如下
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; //不让选中禁用节点
}
}
}

回答2:

实现就是鼠标右键点击同左键效果就行啦,楼上的代码放到MouseClick事件中就行。

回答3:

if (e.Button == MouseButtons.Right)
{
if(treeView3.GetNodeAt(e.X, e.Y) !=null)
{
treeView3.SelectedNode=treeView3.GetNodeAt(e.X, e.Y));
treeView3.SelectedNode.Nodes.Remove( treeView3.GetNodeAt(e.X, e.Y));
}
}