我在Visual Studio 2010 C#Winform中有奇怪的Unicode字符顯示行爲。我正在使用Windows 7 x64。出於某種原因,我可以在代碼中做這樣的事情,並在按下按鈕時讓角色正確顯示。該字體是默認的Microsoft Sans Serif。C#中的Winform停止顯示Unicode Unicode字符
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "Initialize System 初始化系統";
}
然而,當我關閉了該項目,並重新打開它的按鈕現在只顯示2個格爲字符是否丟失。我不明白什麼可以改變,爲什麼它第一次工作。
一些帖子建議使用MS哥特式控件,但由於某些原因,我甚至無法在屬性窗口中選擇它。字體在我的系統中,因爲我在控制面板 - >字體中進行了檢查。 MS哥特式在那裏。
是否有一些設置可以改變winform中的字體設置以允許MS Gothic字體?
我現在可以完成這個工作的唯一方法是重寫按鈕的繪製事件,然後在那裏進行渲染。雖然這對DataGrid等組件來說比較困難。這是對有中國特色的按鈕的使用代碼:
private void _Paint(object sender, PaintEventArgs e)
{
Button btn = (Button)sender;
SolidBrush drawBrush = new SolidBrush(btn.ForeColor);
StringFormat sf = new StringFormat { Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center };
string text = "Initialize System 初始化系統";
btnIntialize.Text = string.Empty;
e.Graphics.DrawString(text, btn.Font, drawBrush, e.ClipRectangle, sf);
drawBrush.Dispose();
sf.Dispose();
}
MS哥特式適用於日語,不適用於中文,因此無論使用何種字體(哪一個取決於您使用的是傳統還是簡體中文),都需要使用不同的字體。 – 2013-02-21 17:32:46