社区
C#
帖子详情
100分求助,怎么使WinForm的TreeView上checkBox变灰?
lasse
2005-01-23 04:48:12
当子节点的checkbox不是所有的勾都打上,那么父节点的框应该勾上,但框是灰色的。就象安装/删除Windows组件一样,组件里的内容没全选,显示的效果为灰。
TreeView的checked属性不是true就是false,好像没第三种状态。
...全文
324
17
打赏
收藏
100分求助,怎么使WinForm的TreeView上checkBox变灰?
当子节点的checkbox不是所有的勾都打上,那么父节点的框应该勾上,但框是灰色的。就象安装/删除Windows组件一样,组件里的内容没全选,显示的效果为灰。 TreeView的checked属性不是true就是false,好像没第三种状态。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
longqiaoman
2005-01-24
打赏
举报
回复
50元注册费,终身免费升级!
lasse
2005-01-24
打赏
举报
回复
随便问一下,龙桥人的东东多少钱?
酸酸甜甜就是我啊
2005-01-24
打赏
举报
回复
卖瓜卖到这里来了
longqiaoman
2005-01-24
打赏
举报
回复
http://www.jiabaili.com/mp3/TreeView.rar
这个绝对满足你的需求
心情解码
2005-01-24
打赏
举报
回复
:)
--
isaacyh
2005-01-24
打赏
举报
回复
step2:在每次得到每个item的属性后对item进行重绘。
还要注意每个item改变时对其父节点和子节点的影响。就是说你还要改写系统的一些处理代码。。。
算了,不是一下子说得清楚的,你先去www.codeproject.com上去看看的说。应该可以找到这样的代码的。。。。
isaacyh
2005-01-24
打赏
举报
回复
你要的效果要自己写的,TreeView没有提供这种东东,你可以继承于TreeView自己写一个:
step1:
增加CheckState属性和改写Checked属性。例如:
#region CheckStatus
/// <summary>
/// Gets the check state of this item
/// </summary>
public CheckState CheckStatus
{
get
{
if(items.Count <= 0)
{
if(this.Checked)
return CheckState.Checked;
else
return CheckState.Unchecked;
}
else
{
bool allChecked = true;
bool allUnChecked = true;
TreeViewItem[] tempitems = Items.ToArray();
foreach(TreeViewItem item in tempitems)
{
if (item.CheckStatus == CheckState.Indeterminate)
return CheckState.Indeterminate;
else if (item.CheckStatus == CheckState.Checked)
allUnChecked = false;
else
allChecked = false;
}
if (allChecked)
return CheckState.Checked;
else if (allUnChecked)
return CheckState.Unchecked;
else
return CheckState.Indeterminate;
}
}
}
#endregion
#region Checked
/// <summary>
/// Gets or sets a value indicating whether the item is checked.
/// </summary>
public new bool Checked
{
get
{
try
{
return (base.Checked);
}
catch
{
return false;
}
}
set
{
if(IsInATreeView)
if(TreeListView.InvokeRequired)
throw(new Exception("Invoke required"));
try
{
// Check downwards recursively
if(TreeView != null &&
TreeView.checkDirection == CheckDirection.Downwards &&
items.Count > 0)
{
foreach(TreeViewItem childItem in items)
childItem.Checked = value;
}
if(base.Checked == value) return;
base.Checked = value;
}
catch{}
}
}
#endregion
isaacyh
2005-01-24
打赏
举报
回复
CheckState.Indeterminate表示灰色。。。。
ld_thinking
2005-01-24
打赏
举报
回复
inhernit属性? 记得不是特别清楚了 checkbox的一客户端属性
yangao
2005-01-24
打赏
举报
回复
不会,帮顶
liulxmooo
2005-01-24
打赏
举报
回复
up
yiyi0518
2005-01-24
打赏
举报
回复
帮忙up,顺便学习!!
lasse
2005-01-23
打赏
举报
回复
自己UP一下
tmp1804
2005-01-23
打赏
举报
回复
up
gyf19
2005-01-23
打赏
举报
回复
学习。。。
YIO2002
2005-01-23
打赏
举报
回复
这好象没有哦,DataGrid中的checkbox就有这中状态也就是空状态
DeltaCat
2005-01-23
打赏
举报
回复
帮你UP
c#软件开发学习笔记--
Winform
窗体(控件)
构造函数 → Load事件 → 显示 → 用户交互 → FormClosing → 关闭。
C#-
Winform
窗体编程1
拖入窗体后出现在底部组件托盘,窗体最小化时可隐藏到系统右下角托盘,常驻后台运行,支持弹窗提示气泡、右键菜单、双击还原窗口,多用于后台服务、聊天工具、监控软件。窗体顶部标准主菜单栏,用于放置系统一级功能菜单(文件、编辑、工具、帮助等),下拉展开子菜单项,支持快捷键、
分
隔线、图标、勾选状态,是桌面程序标准导航组件。listBox1.Items.Remove("张三");的容器控件,支持本地图片、资源图片、网络图片、图标,内置多种缩放适配模式,常用于头像、商品图、二维码、证件照、预览图等场景。
winform
公共标签和常用属性
winform
公共标签和常用属性 公共控件 1、Button(按钮): Enabled :确定是否启用控件 Visible:确定控件是否可见 2、
CheckBox
(多选项) CheckListBox -(多选项列表)可用
CheckBox
和Panel或FlowLayoutPanel代替 Checked:默...
C#
WinForm
Panel控件深度解析:从布局原理到性能优化实战
在桌面应用开发中,容器控件是实现界面布局与动态交互的核心组件。其原理在于通过层级化组织子控件,并利用停靠、锚定等机制实现自适应布局,从而提升界面的结构清晰度与可维护性。从技术价值看,合理使用容器不仅能优化视觉
分
组,更能支撑复杂的动态界面切换与自定义绘制功能,是构建现代化、响应式用户界面的基础。在实际应用场景中,无论是实现经典的上中下三栏布局、可折叠
分
组框,还是模拟选项卡切换效果,容器控件都扮演着关键角色。本文聚焦于C#
WinForm
中的Panel控件,深入剖析其核心属性如Dock与AutoScroll,并
WinForm
(五)控件和它的成员
窗体无疑是
WinForm
的主角,每个窗体都是用一个class来承载,那么窗体的控件,就是类中的私有字段了。每个窗体有三个文件,两个.cs文件,是一个
分
部类,Designer.cs是自动生成的C#代码,一般是拖拽控件后生成的代码;另一个.cs文件是写业务代码用的;第三个是.resx文件,是资源文源,窗体的图片,图标,以及一些控件的配置信息。比如下面的窗体:生成的代码如下这么多,可见设计器出力不少。注...
C#
111,129
社区成员
642,531
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章