2016-12-09 91 views
0

我試着用字體「Malgun Gothic」來顯示韓文字符,但有時這個控件顯示越南語,「Malgun哥特式」不支持越南字符。 - 如果不支持,如何勾選「Malgun Gothic」和「Verdana」字體。 - 如果不支持字符,我會看到「Microsoft word」從「Malgun Gothic」改爲「Calibri」字體。c#切換字體如果不支持

參見此代碼:

this.lblTit.AutoSize = true; 
this.lblTit.Font = new System.Drawing.Font("Malgun Gothic", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(129))); 
this.lblTit.Location = new System.Drawing.Point(12, 10); 
this.lblTit.Name = "lblTit"; 
this.lblTit.Size = new System.Drawing.Size(46, 20); 
this.lblTit.TabIndex = 1; 
this.lblTit.Text = "Chọn"; 

=>我想3字符 「C」, 「H」,並通過 「清黑體」 字體 「n」 的節目,和字符 「o」 顯示通過 「宋體」字體。

如何做到這一點。

+0

這是不可能的。 Winforms標籤只能有一種字體,一種尺寸和一種樣式用於整個文本。所以你應該使用不同的標籤,如果你想要你的行爲。如果你想努力工作,你應該創建你自己的派生控件並使用GDI +手動控制字符繪製。 – VitaliyK

+0

這意味着後備字體,如何設置後備字體? – user3435791

回答

0

標籤有一種字體;你不能將它與另一種字體結合。您必須決定是否包含所需字體的一種字體,或者您必須使用三個標籤,一個用於"Ch"一個用於"ọ",另一個用於"n"

這應該是這樣的(除去不必要的行):

this.lblTit1.AutoSize = true; 
this.lblTit1.Font = new System.Drawing.Font("Malgun Gothic", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(129))); 
this.lblTit1.Location = new System.Drawing.Point(12, 10); 
this.lblTit1.Text = "Ch"; 

this.lblTit2.AutoSize = true; 
this.lblTit2.Font = new System.Drawing.Font("Verdana", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(129))); 
this.lblTit2.Location = new System.Drawing.Point(lblTit1.Location.X + lblTit1.Width, 10); 
this.lblTit2.Text = "ọ"; 

this.lblTit3.AutoSize = true; 
this.lblTit3.Font = new System.Drawing.Font("Malgun Gothic", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(129))); 
this.lblTit3.Location = new System.Drawing.Point(lblTit2.Location.X + lblTit2.Width, 10); 
this.lblTit3.Text = "n"; 

如果生成自動代碼,你就不會設置的位置,如代碼示例;您將使用視覺設計師來對齊標籤。