下面是动态的TreeView。
我想实现的是菜单选择框父项打勾后它下面的子项选择框全部为打勾。
请高手指点。
List<string> list = new List<string>();
TreeView tv = new TreeView();
tv.Size = new System.Drawing.Size(150, 300);
for (int i = 0; i < 4; i++)
{
TreeNode td = new TreeNode();
td.Text = "Node" + i.ToString();
td.Name = "Node" + i.ToString();
for (int j = 0; j < 4; j++)
{
TreeNode subnode = new TreeNode();
subnode.Name = "SubNode-" + i.ToString() + "-" + j.ToString();
subnode.Text = "SubNode-" + i.ToString() + "-" + j.ToString();
td.Nodes.Add(subnode);
}
tv.Nodes.Add(td);
}
tv.CheckBoxes = true;
this.Controls.Add(tv);
我想实现的是菜单选择框父项打勾后它下面的子项选择框全部为打勾。
请高手指点。
List<string> list = new List<string>();
TreeView tv = new TreeView();
tv.Size = new System.Drawing.Size(150, 300);
for (int i = 0; i < 4; i++)
{
TreeNode td = new TreeNode();
td.Text = "Node" + i.ToString();
td.Name = "Node" + i.ToString();
for (int j = 0; j < 4; j++)
{
TreeNode subnode = new TreeNode();
subnode.Name = "SubNode-" + i.ToString() + "-" + j.ToString();
subnode.Text = "SubNode-" + i.ToString() + "-" + j.ToString();
td.Nodes.Add(subnode);
}
tv.Nodes.Add(td);
}
tv.CheckBoxes = true;
this.Controls.Add(tv);
解决方案 »
- 在winform中,自动生成编号,删除中间项,后面的编号自动改变
- 大家帮忙推荐一本ASP.NET入门的书,C#?
- 怎样不显示Form里的那个X?
- 我有一个DLL文件用Reflector ida打开后都可以看到里面的代码的内容,但不能修改,请问怎么才能修改dll 的内容?
- .Net2.0正式版本Express是到4月份过期么?
- 求一类似window media player上的播放进度条控件
- 问一个简单的问题,请问在网页中如何使用.Net制作的Windows控件,例如如同原来使用OCX控件
- 图片怎么失真
- 如何去掉工作箱中多余的选项卡啊?
- 想求C#的代码编写规范
- 如何让一个线程每10秒执行一次啊?
- 弱弱的请教一个问题,即怎么样将一个方法实例化?
tv.CheckBoxes = true;
this.Controls.Add(tv);
tv.AfterCheck+=new TreeViewEventHandler(tv_AfterCheck);
private void tv_AfterCheck(object sender, TreeViewEventArgs e)
{
if (e.Node.Checked)
checkallnode(e.Node.Nodes); } private void checkallnode(TreeNodeCollection tds)
{
foreach (TreeNode td in tds)
{
td.Checked = true;
if (td.Nodes.Count > 0) checkallnode(td.Nodes);
}
}