Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В международных приложениях рекомендуемым методом выбора шрифтов является переход на резервный вариант шрифта везде, где это возможно. Переход на резервный вариант шрифта означает, что система определяет, к какой системе письма относится символ.
Использование перехода на резервный вариант шрифта
Чтобы воспользоваться этой функцией, не устанавливайте свойство 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);
См. также
.NET Desktop feedback