winform treeview checked 获取值 winform treeview里面的复选框 获取值treeview 里面分别有3个父级,里面还有几个子级需要怎么获取呢?求答案,,,求代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void GetTreeViewNode(TreeNode node1) { if (node1.Nodes != null) { foreach (TreeNode node2 in node1.Nodes) { GetTreeViewNode(node2); } } else { if (node1.Checked)//选中的时候就。。 { //do something } } } AfterCheck事件 private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { SetNodeCheckState((TreeNode)e.Node);} private void SetNodeCheckState(TreeNode parentNode) { foreach (TreeNode node in parentNode.Nodes) { if (parentNode.Checked == true) { //node.Checked = true; Console.WriteLine(node.Name);//输出选中的树节点,包括子节点。 } //else // node.Checked = false;// 此处如果选中父节点,同时选中子节点可去掉注释。 if(node.Nodes.Count>0) SetNodeCheckState(node); } } private void SetNodeCheckState(TreeNode parentNode) { if (parentNode.Nodes.Count > 1) { foreach (TreeNode node in parentNode.Nodes) { if (parentNode.Checked == true) { node.Checked = true; Console.WriteLine(node.Text); } else node.Checked = false; if (node.Nodes.Count > 0) SetNodeCheckState(node); } } else { Console.WriteLine(parentNode.Text); } } 方法修改下,这样就可以显示没有子节点的信息。 void saa(TreeNode tn) { if (tn.Checked && tn.Tag!=null) { int id = Convert.ToInt32(tn.Tag); //MessageBox.Show(id.ToString()); txt.Text += id.ToString() + ","; } if (tn.Nodes.Count>0) { foreach (TreeNode tn1 in tn.Nodes) { saa(tn1); } } }只能获取第一个,第二个后都不能 C# WinForm求助 求C#项目压缩文件 C#中调用控制台(外部)程序 重新发帖:如何把doc,exl,ppt等文档转换成pdf文档 根据文本框数据画图 winform如何连接数据库 请问怎么用Visio做Web界面效果图啊? 跪求C#远控另一台电脑串口的源码或者资料 如何在程序中访问其他机器上的共享文件而不用输入网络用户名与密码 关于ip库的问题? .net应用程序自动升级 C#做服务使用Process启动外部程序没窗体?
private void GetTreeViewNode(TreeNode node1)
{
if (node1.Nodes != null)
{
foreach (TreeNode node2 in node1.Nodes)
{
GetTreeViewNode(node2);
}
}
else
{
if (node1.Checked)//选中的时候就。。
{
//do something
}
}
}
{
SetNodeCheckState((TreeNode)e.Node);
} private void SetNodeCheckState(TreeNode parentNode)
{
foreach (TreeNode node in parentNode.Nodes)
{
if (parentNode.Checked == true)
{
//node.Checked = true;
Console.WriteLine(node.Name);//输出选中的树节点,包括子节点。
}
//else
// node.Checked = false;// 此处如果选中父节点,同时选中子节点可去掉注释。
if(node.Nodes.Count>0)
SetNodeCheckState(node);
}
}
{
if (parentNode.Nodes.Count > 1)
{
foreach (TreeNode node in parentNode.Nodes)
{
if (parentNode.Checked == true)
{
node.Checked = true;
Console.WriteLine(node.Text);
}
else
node.Checked = false;
if (node.Nodes.Count > 0)
SetNodeCheckState(node);
}
}
else
{
Console.WriteLine(parentNode.Text);
}
} 方法修改下,这样就可以显示没有子节点的信息。
{
if (tn.Checked && tn.Tag!=null)
{
int id = Convert.ToInt32(tn.Tag);
//MessageBox.Show(id.ToString());
txt.Text += id.ToString() + ",";
}
if (tn.Nodes.Count>0)
{
foreach (TreeNode tn1 in tn.Nodes)
{
saa(tn1);
}
}
}只能获取第一个,第二个后都不能