Я портирую старый проект VB6 на C #, используя Winforms.В оригинале используется набор ActiveDar DataDynamic для одновременного управления изменениями нескольких элементов в панелях инструментов, меню и ярлыках.Все, что нужно сделать старому коду, чтобы изменить текст элемента, совместно используемого несколькими меню, панелью инструментов и контекстным меню, - это изменить свойство «Заголовок» объекта «инструмент».
Мне кажется, что .NET должен иметь какой-то способ разделения ToolStripItem
s между различными контейнерами, но это не похоже на это.Я что-то упустил?
В настоящее время я несколько раз начинал с разных идей, от реализации метода расширения Clone
на ToolStripMenuItem
объектах и от того, чтобы моя форма отслеживала каждое разделяемое.Это не помогло, когда я понял, что обновление локальной копии не приведет к обновлению других (мне пришлось бы добавлять сложные события обновления, которые являются более сложной задачей, чем простое включение и отключение каждого элемента вручную).Я подумал о создании способа обновления всех элементов на основе его тега.Это также казалось довольно невыполнимым.
Какие техники вы использовали в подобных ситуациях?