於黾 2021-12-20 10:33 采纳率: 33.3%
浏览 333
已结题

C#Winform,如何自定义TreeNode属性?

问题遇到的现象和发生背景

我的工程里使用TreeView控件来作为窗体的配置器,菜单、按钮等都根据TreeView的内容自动生成。
现在的问题是,TreeView的Nodes点开后,弹出的TreeNode编辑器,默认是系统的TreeNode控件的属性,里面属性太少,我需要增加属性。

我的解答思路和尝试过的方法

我自定义了myTreeNode控件继承TreeNode控件,再自定义myTreeView控件继承TreeView控件
但最终发现TreeView的Nodes属性类型是TreeNodeCollection,这玩意把我整不会了

我想要达到的结果

不使用后台代码编辑TreeView,在设计器里点开TreeView的Nodes属性,弹出的TreeNode编辑器里显示我的自定义myTreeNode而不是TreeNode

img

img

img


如图,
图一是已经实现的功能,菜单根据treeview的配置动态加载
图二是想要在设计器里面点击这里
图三是弹出的编辑器,需要修改3个属性的名称及增加另外2个属性

  • 写回答

1条回答 默认 最新

  • CSDN专家-文盲老顾 2021-12-20 15:14
    关注

    ??? TreeNode.Nodes.Add(nodeName,NodeText),你显示的内容是 NodeText,节点名,用来定位的则是 NodeName

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 12月23日
    • 已采纳回答 12月23日
    • 修改了问题 12月20日
    • 修改了问题 12月20日
    • 展开全部

    悬赏问题

    • ¥15 k210显示failed init to model
    • ¥15 Evil-droid生成的APK手机已经下载但无法建立任务
    • ¥25 c语言韩信点兵的变式
    • ¥15 怎么根据书上的例子完成这个问题呢?
    • ¥15 ECharts 增加Zoom,整行包括右边的Text一起滑动
    • ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
    • ¥15 开地址法双散列函数处理碰撞
    • ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
    • ¥15 联通光猫掉注册了怎么重新注册上去
    • ¥15 关于unity开发steamvr程序遇到的问题