2012-02-23 12 views
2

したがって、私はBrightIdeasSoftwareに実行されるまで、既存のアプリケーションをローカライズ/変換しようとしています。このコードはベースフォームで実行されています。 ObjectListView(これはサブアイテムなどを正しく反復処理している)問題は、ObjectListViewの列にはに名前が設定されていますが、は常にです。ObjectListViewのローカライズEmpty Nameプロパティのために不可能なOLVColumnプロパティ

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プロパティを追加するためにプロジェクト全体を調べることはできません。

名前の値は含まれていますが、見つからない(デザイナのGUIに表示されている)ものは見つかりませんでした。

OLVサポートフォーラムでソリューションを検索しようとしましたが見つかりませんでした。多くのOLVの問題を抱えているユーザーに気付きましたので、ここで助けを得ました。

ご協力いただきありがとうございます。

+0

なぜ名前をローカライズしようとしていますか?タイトルをローカライズしたくないですか? ListView(ObjectListViewと同じ)の列には、名前を付ける必要はありません。 – Grammarian

答えて

0

それは自動では "名前"

enter code here 

     this.olvColSetPartName.AspectName = "Name"; 
     resources.ApplyResources(this.olvColSetPartName, "olvColSetPartName"); 

はそれを "名前"

enter code here 

this.olvColSetPartName.Name = "olvColSetPartName" を与える追加しませんでした。