【发布时间】:2010-11-30 16:46:43
【问题描述】:
我正在使用 Winforms 将旧的 VB6 项目移植到 C#。原始版本使用 DataDynamic 的 ActiveBar 套件来同时管理对工具栏、菜单和快捷功能区中的多个项目的更改。所有旧代码都必须更改在多个菜单、工具栏和上下文菜单之间共享的项目的文本,即更改“工具”对象的“标题”属性。
我觉得 .NET 必须有某种方式在各种容器之间共享ToolStripItems,但它看起来不像。我错过了什么吗?
目前,我已经多次提出各种想法,从在 ToolStripMenuItem 对象上实现 Clone 扩展方法到让我的表单跟踪每个可共享对象。当我意识到更新本地副本不会更新其他副本时,那失败了(我必须添加复杂的更新事件,这比简单地手动打开和关闭每个项目要多工作)。我考虑过创建一些基于其标签更新所有项目的方法。这似乎也很不可行。
在类似情况下,你们都使用了哪些技术?
【问题讨论】:
标签: .net winforms vb6-migration toolstrip menustrip