如何动态生成带有checkbox的树形菜单结构Tree View

songyingjian2008 2008-07-10 11:01:56
开发了一个插件,在运行插件后想在插件窗体中显示整个解决方案的工程及其文件,并且每一个文件和工程前面带有复选框,怎样才能生成动态带有checkbox的树形菜单结构Tree View啊???
各位大虾指点一下啊!!!立刻拿分、谢谢!
...全文
531 18 打赏 收藏 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ginue999 2010-03-15
  • 打赏
  • 举报
回复
TreeView..ShowCheckBoxes = TreeNodeTypes.All;
fsy123456accp 2008-07-10
  • 打赏
  • 举报
回复
顶 支持一下 学习了 呵呵
beancurd005 2008-07-10
  • 打赏
  • 举报
回复
CheckBoxes 属性置为true即可。

还有种方式是,可以用图片的形式,设置3种图片,一种是未选中状态的图片

另一种是已经选中的图片

再就是中间状态的图片

呵呵,这种方法比较落后,当然也能实现哦
我很懒 2008-07-10
  • 打赏
  • 举报
回复
treenode有这样一个属性ShowCheckBox
设置为true就行了
江城老温 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 songyingjian2008 的回复:]
谢谢高手指点,但是这样可以使当前工程及其文件动态的以checkbox形式显示在Tree View里么?
如果可以的话,拜托各位大虾写具体点。
[/Quote]

就是按自己的需要控制设置TreeNode的text属性。
假设你的文件列表在list中,实际应用时,你用你自己的文件初始化list.我在下面随意初始了。

List<string> list = new List<string>();
for (int i = 0; i < 5; i++)
{
list.Add("Node" + i.ToString());
}

TreeView tv = new TreeView();
tv.Location = new System.Drawing.Point(23, 104);
tv.CheckBoxes = true;
for (int i = 0; i < list.Count - 1; i++)
{
TreeNode tn = new TreeNode();
tn.Name = list[i];
tn.Text = list[i];
tv.Nodes.Add(tn);
}
this.Controls.Add(tv);
江城老温 2008-07-10
  • 打赏
  • 举报
回复
把这段代码放到你窗体Load事件里就OK了。

TreeView tv = new TreeView();
tv.Location = new System.Drawing.Point(23, 104);
tv.CheckBoxes = true;
TreeNode tn1 = new TreeNode();
tn1.Name = "Node1";
tn1.Text = "Node1";
TreeNode tn2 = new TreeNode();
tn2.Name = "Node2";
tn2.Text = "Node2";
tv.Nodes.Add(tn1);
tv.Nodes.Add(tn2);
this.Controls.Add(tv);
songyingjian2008 2008-07-10
  • 打赏
  • 举报
回复
谢谢高手指点,但是这样可以使当前工程及其文件动态的以checkbox形式显示在Tree View里么?
如果可以的话,拜托各位大虾写具体点。
wudi626 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 falx2004 的回复:]
treenode有这样一个属性ShowCheckBox
设置为true就OK
[/Quote]
bbbbbb888888 2008-07-10
  • 打赏
  • 举报
回复
同意4L
zbking 2008-07-10
  • 打赏
  • 举报
回复
            TreeNode a = new TreeNode();
a.Name = "xx";
a.Text = "hh";
treeView1.Nodes.Add(a);
烈火焚身 2008-07-10
  • 打赏
  • 举报
回复
up
falx2004 2008-07-10
  • 打赏
  • 举报
回复
而且在treeview的属性里就有设置 checkBoxes 设置为true就可以了
falx2004 2008-07-10
  • 打赏
  • 举报
回复
treenode有这样一个属性ShowCheckBox
设置为true就OK
xiaojing7 2008-07-10
  • 打赏
  • 举报
回复
up
songyingjian2008 2008-07-10
  • 打赏
  • 举报
回复
是WINFORM啊,最好能说得具体点。
kkun_3yue3 2008-07-10
  • 打赏
  • 举报
回复
是WINFORM还是WEBFORM呀,
如果是WEBFORM的话,建议使用"ASP开发方式"输出HTML,灵活控制,几乎什么样的都可以做,
ZGZice 2008-07-10
  • 打赏
  • 举报
回复

treenode有这样一个属性ShowCheckBox
设置为true就OK
songyingjian2008 2008-07-10
  • 打赏
  • 举报
回复
谢谢大家了,还有什么好的意见来发表一下,我要结贴了。
内容概要:本文围绕Module模块化开发在5G网管系统中的插件化架构应用展开,重点介绍如何通过模块化与插件化技术解决多厂商设备(如华为、中兴、爱立信等)北向接口适配难题。文章提出基于SPI机制、类加载器隔离、协议转换模块化和灰度发布等核心技术,构建可扩展、易维护的网管系统架构,并通过华为告警适配插件的完整代码示例,展示了插件从定义、加载到解析的全流程。该架构实现了厂商适配的解耦与热插拔,显著提升系统的灵活性与可维护性。; 适合人群:具备Java开发基础,熟悉SPI、类加载机制,从事通信网管系统、OSS系统或大型企业级平台开发的研发人员,尤其是工作3-5年、参与过系统集成或中间件设计的工程师; 使用场景及目标:①实现跨厂商5G基站告警采集与性能监控的统一接入;②构建可扩展的光传输网络拓扑发现与核心网配置审计系统;③支持故障诊断平台的知识插件动态扩展;④降低新增设备厂商的接入周期与运维成本; 阅读建议:此资源强调架构设计与工程实践结合,建议读者不仅关注代码实现,还需深入理解SPI机制、类加载隔离原理及插件生命周期管理策略,结合实际网管场景进行模拟开发与调试,掌握高可用插件化系统的设计要点。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧