public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string tag = "True";
StringBuilder nodesTag;
/// <summary>
/// 全选
/// </summary>
/// <param name="treeNode"></param>
/// <param name="nodeChecked"></param>
private void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked)
{
foreach (TreeNode node in treeNode.Nodes)
{
node.Checked = nodeChecked;
node.Tag = tag;////记得在这里为选中的项目设置tag属性
if (node.Nodes.Count > )
{
this.CheckAllChildNodes(node, nodeChecked);
}
}
} private void TraversNodes(TreeNode parent)
{
TreeNode node = parent;
if (node != null)
{
if (node.Tag != null && node.Tag.ToString() == tag)
nodesTag.AppendFormat("node:{0} has checked\n", node.Text); if (node.FirstNode != null)////如果node节点还有子节点则进入遍历
{
TraversNodes(node.FirstNode);
}
if (node.NextNode != null)////如果node节点后面有同级节点则进入遍历
{
TraversNodes(node.NextNode);
}
}
}
/// <summary>
/// 已选中或取消选中框发生事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
if (e.Action != TreeViewAction.Unknown)
{
TreeNode node = e.Node;
if (node.Tag == null)
node.Tag = tag;//附加结点信息
else
node.Tag = null; CheckAllChildNodes(e.Node, e.Node.Checked); //选中父节点
bool bol = true;
if (e.Node.Parent != null)
{
for (int i = ; i < e.Node.Parent.Nodes.Count; i++)
{
if (!e.Node.Parent.Nodes[i].Checked)
bol = false;
}
e.Node.Parent.Checked = bol; ////记得如果父节点被选中或取消,记得设置它的tag
if (bol)
{
e.Node.Parent.Tag = tag;
}
else
{
e.Node.Parent.Tag = null;
}
}
}
}
}

winform TreeView 节点选择的更多相关文章

  1. Winform TreeView 节点拖动

    private void treeView_ItemDrag(object sender, ItemDragEventArgs e) { TreeNode dragNode = e.Item as T ...

  2. WinForm TreeView节点重绘,失去焦点的高亮显示

    当用户焦点离开TreeView时,TreeView选中节点仍然高亮,但是颜色符合主题. 设置TreeView.HideSelection = False;可让选中节点保持高亮. 添加重绘事件 Tree ...

  3. c# winform TreeView NODE(节点) 重命名或获取节点修改后的值

    在程序开发过程中我们经常用到treeview,还经常要修改节点的名字.节点名字修改后还想及时更新数据库.这时问题就来了,怎样获取NODE(节点)更新后的值呢?本人试了很多方法最终分析出treeview ...

  4. WINFORM中treeview 节点显示不全

    在设置treeview节点时,出现如下显示不全的问题: 这个问题是由于我们在treeview任务中编辑节点时设置的字体大于我们在treeview属性中设置frot字体导致的. 所以只要将treevie ...

  5. kendo ui的treeView节点点击事件修改和grid的配置的一点总结

    kendo-ui的treeView节点(node)点击时  可以触发一个select的事件(event),并且连续点击多次相同节点,可以触发并且只能触发一次该事件. 可是需求上需要实现:每次点击相同的 ...

  6. TreeView 节点拖拽

    public Form1() { InitializeComponent(); treeView1.AllowDrop = true; treeView1.ItemDrag += new ItemDr ...

  7. winform Treeview控件使用

    做角色菜单权限时用到treeview控件做树状显示菜单,简单总结了一下用法: 1.在winform窗体中拖入treeview控件,注意修改属性CheckBoxes属性为true,即在节点旁显示复选框 ...

  8. 关于WinForm TreeView的分享~

    最近在写个测试demo的时候使用到WinForm TreeView,已经好久没接触了,有些生疏,所以还是记录一下遇到的一些问题. 1.如果动态绑定TreeView,这个功能一般会在数据量不确定,需要去 ...

  9. TreeView节点拖拉操作1

      TreeView节点拖拉操作1 //事先设置 TreeView1.DragMode= dmAutomatic;   unit Unit1; interface uses   Windows, Me ...

随机推荐

  1. PACS系统简易

    PACS系统 http://baike.baidu.com/link?url=prHBMbyu5W98ET1UGQ0PXXxLebxAeljckFH0pfO_2aODe1UgsrWgRd4Unbopt ...

  2. 美国程序猿(软件project师)平均年薪状况调查

    来源站点:Indeed.com&computerengineeringsalarydata.com Average Software Engineer Salary by 50 States ...

  3. 解决RMI 客户端异常no security manager: RMI class loader disabled

    解决方法: 客户端和服务端的Service包名改一致 ok!!

  4. Linux下设置和查看环境变量(转)

    Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效. 2 临时的:使用export命令声明即可,变量在关闭shell时失效. 设置变量 ...

  5. ORA-27090 故障一例

    近期的alert日志中碰到了ORA-27090的错误信息.其错误提示为Unable to reserve kernel resources for asynchronous disk I/O.依据这个 ...

  6. 类的专有方法(__del__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.bubuko.com/infodetail-313791.html #类的专有方法(_ ...

  7. Java多线程系列目录(共43篇)(转)

    Java多线程系列目录(共43篇) http://www.cnblogs.com/skywang12345/p/java_threads_category.html

  8. HDUOJ-----2175取(m堆)石子游戏

    取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. CocoaPods的ruby问题 Error fetching http://ruby.taobao.org/:

    今天安装了一个CocoaPods,在安装淘宝ruby是遇到了问题 bogon:~ zhch$ gem sources -a http://ruby.taobao.org/ Error fetching ...

  10. ubuntu 安装 LAMP环境

    http://jingyan.baidu.com/article/a681b0de36ad683b18434691.html