したがって、既存のアプリケーションをローカライズ/翻訳しようとしています。このコードは基本フォームで実行されており、BrightIdeasSoftware.ObjectListView に実行されるまで、すべてが期待どおりに機能しています (サブアイテムなどを正しく反復処理しています)。 ObjectListView では列に Name を設定する必要がありますが、常にnull です。
ComponentResourceManager parentManager = new ComponentResourceManager(this.GetType());
CultureInfo language = new CultureInfo("en");
foreach (Control subControl in this.Controls) {
parentManager.ApplyResources(subControl, subControl.Name, language);
}
そして、ObjectListView に遭遇すると:
ObjectListView localControl = (ObjectListView)subControl;
foreach (OLVColumn column in localControl.Columns)
{
parentManager.ApplyResources(column, column.Name/*This is the issue*/, language);
}
デザイナーコードで列の名前を設定すると、期待どおりに機能し、変更後に実際に名前コードが再び正しく生成されますが、プロジェクト全体を調べてすべての objectListViews に name プロパティを追加することはできませんプロジェクトに追加されます。
Name 値を含むプロパティを探してみましたが、何も見つかりませんでした (デザイナー GUI に表示されます)。
OLV サポート フォーラムで解決策を検索してみましたが、見つけることができず、OLV で問題を抱えている多くの人がここで助けを得ていることに気付いたので、最初にここで助けを探すことにしました。
どんな助けでも大歓迎です、事前に感謝します!