私はかなり標準的なBindingSource/DataGridViewの組み合わせを持っています。 bindingSourceには、DataGridViewに通貨として表示する必要がある小数点型のプロパティがあります。テストのために私はそれが私が代わりに£DataGridViewが正しいcultureinfoを表示しない
の通貨形式として€を使用して培養情報を使用している場合はどのように見えるかを確認したい私の問題は、である私は、プログラム(現在のスレッドのCurrentUICultureのを変更するものの、私のアプリケーションはスレッドが1つしかありません)、私のDataGridViewはまだ£と表示されます。
次のコードスニペット私のために作成したデザイナー:
this.columnPriceValue = new Forms.DataGridViewTextBoxColumn();
this.columnPriceValue.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
this.columnPriceValue.DataPropertyName = "Value";
dataGridViewCellStyle2.Format = "C4";
...
私はstackoverflowの答えに応じオランダ文化にCurrentUICultureの設定私のメインフォームのコンストラクタでHow to change CurrentCulture at runtime?
System.Threading.Thread.CurrentThread.CurrentUICulture =
CultureInfo.GetCultureInfo(0x0013);
ので、 GBP記号がまだ表示されています。データをバインディングソースに追加する直前にcurrencySymbolを確認しました:
public void ShowPrices(IEnumerable<Price> prices)
{
string txt = System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.CurrencySymbol;
Debug.WriteLine(txt);
this.bindingSource1.DataSource = prices;
...
デバッガ出力ウィンドウにがまだ通貨記号ですが、まだDataGridviewには£が表示されています。
ユーロ記号を表示するにはどうすればよいですか?
+1;) – OhBeWise