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 true
ayarlarsı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.
.NET Desktop feedback