在C# winform treeview 遍历 checkBox 状态

 private void treeView1_AfterCheck_1(object sender, TreeViewEventArgs e)        {            if (e.Node.Checked == true)            {                foreach (TreeNode node in e.Node.Nodes)                {                    if (node.Checked == false)                        node.Checked = true;                }            }            if (e.Node.Checked == false)            {                foreach (TreeNode node_1 in e.Node.Nodes)                {                    node_1.Checked = false;                    //MessageBox.Show("tow");                }            }        }    }}在C# winform treeview 遍历 checkBox 状态,为什么鼠标点击快了,会出现有的全选不起,有没有其他的办法能解决呢????可不可以点击一次后就禁用CheckBox 的属性的选中,直到程序执行完再启车checkBox属性的选中状态??具体方法是什么,请指教

用这段代码就可以了
foreach (TreeNode node in e.Node.Nodes)
{
node.Checked = e.Node.Checked;
}
如果鼠标点击太快,变成双击了,就会把节点展开或者收起,但不影响其选中状态
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-24
/// <summary>
/// 设置树的子节点复选框状态
/// </summary>
/// <param name="node">选中节点</param>
/// <param name="check">复选框节点</param>
private void SetCheckedChildNodes(TreeListNode node, CheckState check)
{
for (int i = 0; i < node.Nodes.Count; i++)
{
node.Nodes[i].CheckState = check;
SetCheckedChildNodes(node.Nodes[i], check);
}
}

在你的实践中 调用一下这个递归方法,可能需要你修改一下,应该可以实现的。
第2个回答  2011-06-23
点击后会执行Post操作,所以不宜太快,可以在选中事件中,把对应的ListItem对象Enable属性设为false,禁止再次点击

在C# winform treeview 遍历 checkBox 状态
node.Checked = e.Node.Checked;} 如果鼠标点击太快,变成双击了,就会把节点展开或者收起,但不影响其选中状态

C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中...
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e){ TreeNode node = e.Node;foreach (TreeNode item in node.Nodes){ item.Checked = e.Node.Checked;} }

如何在C#Winform窗体的Treeview上面添加CheckBox复选框
WinForm的TreeView控件和ASP.NET的有一些区别,你设置控件的CheckBoxes属性为true就可以在所有节点上显示复选框了。还有疑问请追问或是Hi

C# winform中,如何获得一个treeview中所有选中的checkbox的文本值...
最后在selectedNodes中是所有选中的TreeNode,如有别的需求,改一下代码就行了

C#winform的comboBox下拉列表框、treeview、timer、ProgressBox_百度知 ...
treeview控件:treeview.ExpandAll()用于展开所有节点,默认情况下节点是折叠的。例如,Windows资源管理器的目录结构,每个目录节点都对应一个treeNode对象,包含Nodes和Level属性。Nodes属性用于表示节点集合,Level属性用于获取节点在treeview中的深度,深度从0开始。selectedNode属性表示被选中的节点,selectedNode...

treeview checkbox 中的checkbox不可手动勾选,只能用后台程序控制checkbox...
private void treeView1_BeforeCheck(object sender, TreeViewCancelEventArgs e) { if (e.Action != TreeViewAction.Unknown) e.Cancel = true; }该事件总是发生在*节点*选中前,通过判断参数e.Action可以知道是什么原因引发了节点复选框选定(折叠、展开、鼠标、键盘、未知)。其中,未...

C# treeview的节点前添加类似于checkbox
设置TreeView控件的CheckBoxes属性为“true”,节点前面就会有CheckBox了,然后自己写一个方法,在节点的Checked属性发生变化时,首先判断一下节点下面是否有子节点,如果有,那么就将子节点的Checked属性设置为和当前节点相同就可以了,为了不提交失败,代码就不写了,如有疑问请追问或是Hi ...

C#中带CheckedBox的Treeview控件,怎么实现勾选当前一个节点时,其同级节...
这样就能实现单选 如果非要使用CheckBox,可以写个方法,遍历当前TreeNode的父节点下的所有子节点,把CheckBox的Checked都设为false,再把当前点击的CheckBox勾选为选中,把所有节点的CheckBox的Checked事件都注册这个方法,就能实现同级节点的CheckBox单选。

c#winform使用了多个treeview控件,想遍历展开所有节点。foreach找到t...
你找到的是基类Control的类型,要做一下类型转换就可以调用了.以下代码示意一下,首先要判断确定是TreeView控件,否则转换会出错.然后转换类型,调用方法.foreach(Control ctrl in frm.Controls){ if(ctrl is TreeView){ (ctrl as TreeView).ExpandAll();} } ...

C# winform 编程 自定义combobx控件,将treeview控件嵌入combobox中_百 ...
你可以在打开下拉选择框的时候,让comboBox不显示下拉类别,你动态的生成一个TreeView控件,放到正确的位置,使其看上去像是ComboBox的下拉列表。当这个TreeView失去焦点时自动将其隐藏。上面的方法应该可以实现你要的功能。只是你要完成combobox选择列表显示时的一些功能,和选择后的一些动作。还要计算你显示...

相似回答
大家正在搜