Международные шрифты в Windows Forms и элементы управления
В приложения на разных языках выбора шрифтов рекомендуется использовать откат шрифта, когда это возможно. Это означает что система определяет, что скрипт символ принадлежит.
С помощью откат шрифта
Чтобы воспользоваться преимуществами этой функции, не устанавливайте Font свойство для форм или любого другого элемента. Приложение будет автоматически использовать системный шрифт по умолчанию, который отличается от языка локализованной операционной системы в другую. При запуске приложения, система автоматически выбирает правильный шрифт для языка и региональных параметров, выбранных в операционной системе.
Имеется исключение из правила шрифта, который предназначен для изменения стиля шрифта. Это может оказаться важным для приложения, в котором пользователь нажимает кнопку, чтобы текст в текстовом поле отображаются полужирным шрифтом. Чтобы сделать это, следует написать функцию, чтобы изменить стиль шрифта текстового поля будут выводиться полужирным шрифтом, в зависимости от независимо от формы шрифта. Очень важно для вызова этой функции в двух местах: в кнопки Click обработчик событий и в FontChanged обработчик событий. Если функция вызывается только в Click обработчик событий и некоторых других фрагмент кода изменяет семейство шрифтов для всей формы, текстовое поле не изменяется с остальной частью формы.
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();
}
}
Тем не менее при локализации приложения, полужирный шрифт может отображать плохо для определенных языков. Если это представляет собой проблему, вы локализаторам возможность переключения шрифта с жирного шрифта на обычный текст. Поскольку локализаторы обычно не являются разработчиками, а не имеют доступа к исходному коду, только с файлами ресурсов, этот параметр необходимо задать в файлах ресурсов. Чтобы сделать это, необходимо установить Bold свойства true
. Результатом начертание шрифта, которая записывается в файлы ресурсов, где его можно изменить локализаторов. Затем написать код после InitializeComponent
метод, который сбрасывает шрифт в зависимости от шрифта независимо от формы, но использует стиль шрифта, указанное в файле ресурсов.
TextBox1.Font = New System.Drawing.Font(Me.Font, TextBox1.Font.Style)
textBox1.Font = new System.Drawing.Font(this.Font, textBox1.Font.Style);