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

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日
  • 展开全部

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系