Winforms控件中不显示印度和土耳其货币符号

时间:2013-07-03 18:56:54

标签: c# winforms locale currency-formatting

我正在向ListView添加货币符号,并发现所有符号都正确显示,但印度和土耳其除外,这些符号显示一个框字符。在调试器中,这些货币符号正确显示。我尝试将ListView字体设置为与调试器(Consolas)相同的字体,但这不起作用。我也尝试了Label控件而不是ListView,并发现了同样的问题,因此它可能不适用于所有Winforms控件。我错过了什么?

// Jordan
// Displays correctly
label1.Text = new RegionInfo( "ar-JO" ).CurrencySymbol;

// India: as-IN, bn-IN, en-IN, gu-IN, hi-IN, kn-IN, kok-IN,
//        ml-IN, mr-IN, or-IN, pa-IN, sa-IN, ta-IN, te-IN
// Displays a box symbol
label1.Text = new RegionInfo( "pa-IN" ).CurrencySymbol;

// Turkey
// Displays a box symbol
label1.Text = new RegionInfo( "tr-TR" ).CurrencySymbol;

1 个答案:

答案 0 :(得分:2)

某些字体(包括流行的MS Sans Serif,Tachoma)没有U + 2089和/或U + 20BA字形(印度是土耳其货币符号),而另一些(例如Calibri)则有。看来,您必须更改label1.Font.Name