【发布时间】:2011-04-21 14:39:12
【问题描述】:
我的 Windows 窗体应用程序中有一个带有复选框的树视图控件。当用户选择多个复选框时,我想显示所有选中的复选框节点的路径。我是怎么做的?
以及如何在选择或取消选择其父节点时自动选择或取消选择所有子节点?
【问题讨论】:
我的 Windows 窗体应用程序中有一个带有复选框的树视图控件。当用户选择多个复选框时,我想显示所有选中的复选框节点的路径。我是怎么做的?
以及如何在选择或取消选择其父节点时自动选择或取消选择所有子节点?
【问题讨论】:
protected string getCheckedNodes(TreeNodeCollection tnc)
{
StringBuilder sb = new StringBuilder();
foreach (TreeNode tn in tnc)
{
if (tn.Checked)
{
string res = tn.FullPath;
if (res.Length > 0)
sb.AppendLine(res);
}
string childRes = getCheckedNodes(tn.Nodes);
if (childRes.Length > 0)
sb.AppendLine(childRes);
}
return sb.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(getCheckedNodes(treeView1.Nodes));
}
我已经通过字符串输出了它,但你显然可以用它做任何你喜欢的事情,比如将它添加到集合等。
【讨论】: