2016-12-09 9 views
0

韓国語の文字を表示するために "Malgun Gothic"というフォントを使用しようとしましたが、時にはこのコントロールを示すベトナム語、 "Malgun Gothic"はベトナム語の文字をサポートしていません。 - "Malgun Gothic"フォントと "Verdana"フォントの間で魔法をかける方法(サポートしていない場合) - 「Malgun Gothic」から「Calibri」フォントに「Microsoft word」の切り替えがあります(サポート文字でない場合)。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" は "MS Pゴシック" による "malgunゴシック" フォント、文字 "O" のショーによるショーをしたいですフォント。

これを行う方法。

+0

これはできません。 Winformsラベルは、テキスト全体に対して1つのフォント、1つのサイズ、および1つのスタイルのみを持つことができます。あなたの行動が必要な場合は、別のラベルを使用する必要があります。難しいやり方をしたい場合は、独自の派生コントロールを作成し、GDI +を使用して文字描画を手動で制御する必要があります。 – VitaliyK

+0

これはフォールバックフォントの意味ですか、フォールバックフォントの設定方法ですか? – user3435791

答えて

0

ラベルには1つのフォントがあります。他のフォントと組み合わせることはできません。必要なすべての文字をカバーする1つのフォントを決定するか、または"ọ"の場合は"Ch""n"の場合は1つのラベルを使用する必要があります。

これは(削除、不要な行)のようになります。あなたのコードが自動生成された場合は、コードサンプルのように場所を設定していないでしょう

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"; 

。ビジュアルデザイナーを使用してラベルを整列させます。

関連する問題