呵呵,不是
主要是指,当树节点中有checkbox 时,全选,部分选中(子节点中存在没有选中状态),不选择,这三种情况,
这里主要是要实现,当子节点中有没有被选中的情况,选择框变成灰色背景,很多软件里的树选控件都有这个功能,这里大家讨论一下c#中怎么实现呀
主要是指,当树节点中有checkbox 时,全选,部分选中(子节点中存在没有选中状态),不选择,这三种情况,
这里主要是要实现,当子节点中有没有被选中的情况,选择框变成灰色背景,很多软件里的树选控件都有这个功能,这里大家讨论一下c#中怎么实现呀
解决方案 »
- toolStrip控件上的按钮鼠标放上去的这个颜色能改吗?在哪里改?
- 求与java对应的向SQL语句传参数的方法
- 如何修改打印的时候显示的图标
- 一个继承textbox自定义控件,无法绑定
- 怎样能得到 TextBox 或 richTextBox 的当前输入光标的屏幕坐标??
- 问个线程的 问题
- 请用过<<ASP.NET Web 站点高级编程>>一书的源码的大侠进来看看!谢谢!
- c#将特性,应用于方法,或者类的目的是什么?
- 请教关于加载一张Disable的图片的问题.
- 如何实现在选中单元格时,单元格中的数据被全选中?
- 各位请进来看看~~
- 急!在WINFORM窗体程序中,建立一个新线程。但当新线程执行完他的函数后就退出?
分要给我啊!:)
至于说变成灰的,倒是不知道,c#可能没有做进去
用递归来实现
(说明:
DrugClass是我自己定义的一个类,里面有很多的属性
new ManageMedItem().GetDrugClassTree() 是我程序里的一个方法,返回一个
DrugClass 类的集合,同时自动加载数据到树当中
)
private DrugClass m_objDrugClass=new DrugClass();//实例一个自定义的类//由于修改过了数据库,应该重新读取数据库中的数据来加载TreeView
private void ....(... , ...)
{
tv.Nodes.Clear();
tv.Nodes.Add(new ManageMedItem().GetDrugClassTree());
foreach(TreeNode node in tv.Nodes[0].Nodes)
{
//得到修改后的Tag属性覆盖当前的m_objDrugClass
getSubTree(node);
}
tv.ExpandAll();
}
private void getSubTree(TreeNode node)
{
if(node.Text==m_objDrugClass.Name)
{
m_objDrugClass=(DrugClass)node.Tag;
tv.SelectedNode=node;
}
if(node.Nodes.Count>0)
{
foreach(TreeNode nodeChild in node.Nodes)
{
getSubTree(nodeChild);
}
}
else
{
return;
}
}你别管我的代码是实现说明的,我是让你看看递归遍历树来修改属性
不知道对你有何用,你看看吧,或许有用呢~~
this.treeView1.CheckBoxes=true;