Aracılığıyla paylaş


Windows Forms'da ve denetimlerde uluslararası yazı tipleri

Uluslararası uygulamalarda, yazı tiplerini seçmenin önerilen yöntemi mümkün olduğunca yazı tipi geri dönüşünü kullanmaktır. Yazı tipi geri dönüşü, sistemin karakterin hangi betiklere ait olduğunu belirlediğini gösterir.

Yazı tipi geri dönüşünü kullanma

Bu özelliğin avantajlarından yararlanmak için formunuzun veya başka bir öğenin özelliğini ayarlamayın Font . Uygulama, işletim sisteminin bir yerelleştirilmiş dilinden diğerine farklı olan varsayılan sistem yazı tipini otomatik olarak kullanır. Uygulama çalıştırıldığında, sistem otomatik olarak işletim sisteminde seçilen kültür için doğru yazı tipini sağlar.

Yazı tipini ayarlamama kuralında, yazı tipi stilini değiştirmeye yönelik bir özel durum vardır. Bu, kullanıcının metin kutusundaki metnin kalın yazı tipinde görünmesi için bir düğmeye tıkladığı bir uygulama için önemli olabilir. Bunu yapmak için, formun yazı tipi ne olursa olsun, metin kutusunun yazı tipi stilini kalın olarak değiştirmek için bir işlev yazarsınız. Bu işlevi iki yerden çağırmak önemlidir: düğmenin Click olay işleyicisinde ve olay işleyicisinde FontChanged . İşlev yalnızca olay işleyicisinde Click çağrılırsa ve başka bir kod parçası formun tamamının yazı tipi ailesini değiştirirse, metin kutusu formun geri kalanıyla birlikte değişmez.

Private Sub MakeBold()
   ' Change the TextBox to a bold version of the form font
   TextBox1.Font = New Font(Me.Font, FontStyle.Bold)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   ' Clicking this button makes the TextBox bold
   MakeBold()
End Sub

Private Sub Form1_FontChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.FontChanged
   ' If the TextBox is already bold and the form's font changes,
   ' change the TextBox to a bold version of the new form font
   If (TextBox1.Font.Style = FontStyle.Bold) Then
      MakeBold()
   End If
End Sub
private void button1_Click(object sender, System.EventArgs e)
{
   // Clicking this button makes the TextBox bold
   MakeBold();
}

private void MakeBold()
{
   // Change the TextBox to a bold version of the form's font
   textBox1.Font = new Font(this.Font, FontStyle.Bold);
}

private void Form1_FontChanged(object sender, System.EventArgs e)
{
   // If the TextBox is already bold and the form's font changes,
   // change the TextBox to a bold version of the new form font
   if (textBox1.Font.Style == FontStyle.Bold)
   {
      MakeBold();
   }
}

Ancak, uygulamanızı yerelleştirdiğinizde, kalın yazı tipi belirli diller için kötü görüntülenebilir. Bu bir sorunsa, yerelleştiricilerin yazı tipini kalın yazı tipinden normal metne geçirme seçeneğinin olmasını istersiniz. Yerelleştiriciler genellikle geliştirici olmadığından ve kaynak koduna erişimi olmadığından, yalnızca kaynak dosyaları için bu seçeneğin kaynak dosyalarında ayarlanması gerekir. Bunu yapmak için özelliğini olarak trueayarlarsınızBold. Bu, yerelleştiricilerin düzenleyebilecekleri kaynak dosyalarına yazı tipi ayarının yazılmasını sağlar. Ardından, formun InitializeComponent yazı tipini temel alarak ancak kaynak dosyasında belirtilen yazı tipi stilini kullanarak yazı tipini sıfırlama yönteminden sonra kod yazarsınız.

TextBox1.Font = New System.Drawing.Font(Me.Font, TextBox1.Font.Style)
textBox1.Font = new System.Drawing.Font(this.Font, textBox1.Font.Style);

Ayrıca bkz.