以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Dot NET,C#,ASP,VB 』 (http://bbs.xml.org.cn/list.asp?boardid=43) ---- Treeview勾选父节点后子节点全部被选中方法 (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=76187) |
-- 作者:卷积内核 -- 发布时间:7/29/2009 5:18:00 PM -- Treeview勾选父节点后子节点全部被选中方法 有父子联动功能的下拉树 /** namespace ForestryUserControl //构造函数 //初始化下拉框 //失去焦点 //双击事件 //节点被单击时候的操作 //如果被选中的节点有子孙节点,变换其子孙节点的选中状态 //根据子节点的被选中状态,改变父节点的被选中状态 //将选中内容作为节点添加 if (this.Items != null) this.Items.Add(this.GetTreeViewCheckedNodes(TreeView)); |
-- 作者:卷积内核 -- 发布时间:7/29/2009 5:19:00 PM -- //检测判断改变父节点的被选中状态(所有子节点改变才引发) private void ChangeParentNodeCheckInfoByAll(TreeNode tn) { bool parentChecked = true; //参数检测 //判断子节点中是否有未被选中的 if (tn.Parent.Checked != parentChecked) //检测判断改变父节点的被选中状态(所有子节点改变就引发) //参数检测 //判断子节点中是否有被选中的 if (tn.Parent.Checked != parentChecked) //改变树节点的子孙结点的被选中状态 //变换子孙结点的选中状态 //获取树中所有被选中的节点 StringBuilder sb = new StringBuilder(); foreach (TreeNode tn in TreeView.Nodes) //删除最后一个多余的逗号 return sb.ToString(); //获取树节点中所有被选中节点的字符串组合 StringBuilder sb = new StringBuilder(); if (tn.Checked) foreach (TreeNode childNode in tn.Nodes) return sb.ToString(); //把TreeView做为属性使用 //把parentNodeCheckedChange做为属性试用 //显示下拉树 //鼠标单击双击时执行ShowDropDown protected override void Dispose(bool disposing) public enum ParentNodeCheckedChange |
-- 作者:卷积内核 -- 发布时间:7/29/2009 5:20:00 PM -- private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { SetCheck(e.Node); } private void SetCheck(TreeNode node) { if (node.Nodes.Count > 0) { foreach (TreeNode tn in node.Nodes) { tn.Checked = node.Checked; SetCheck(tn); } } } |
-- 作者:卷积内核 -- 发布时间:7/29/2009 5:20:00 PM -- public Form4() { InitializeComponent(); } public DataTable treeTable=null; public TreeNode enode;//转换使enode可以调用node private void Form4_FormClosed(object sender, FormClosedEventArgs e) { Form1 f1 = new Form1(); f1.mdilength(this); } private void Form4_Load(object sender, EventArgs e) } private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) SetCheck(e.Node); //调用递归方法获 private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e) private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
125.000ms |