Winforms を使用して、古い VB6 プロジェクトを C# に移植しています。オリジナルは DataDynamic の ActiveBar スイートを使用して、ツールバー、メニュー、およびショートカット リボンの複数の項目への変更を同時に管理します。複数のメニュー、ツールバー、およびコンテキスト メニュー間で共有される項目のテキストを変更するために古いコードで行う必要があるのは、「ツール」オブジェクトの「キャプション」プロパティを変更することだけです。
.NET には、さまざまなコンテナー間で sを共有する何らかの方法が必要だと思いますToolStripItem
が、そうではないようです。何か不足していますか?
Clone
現在、オブジェクトに拡張メソッドを実装しToolStripMenuItem
たり、フォームに各共有可能ファイルを追跡させたりするなど、さまざまなアイデアから始めました。ローカル コピーを更新しても他のコピーが更新されないことに気付いたとき、これは失敗しました (単純に各項目を手動でオン/オフするよりも複雑な更新イベントを追加する必要があります)。タグに基づいてすべてのアイテムを更新する何らかの方法を作成することを検討しました。それもかなり無理のようでした。
同様の状況で、皆さんはどのようなテクニックを使用しましたか?