Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In internationalen Anwendungen ist die empfohlene Methode zum Auswählen von Schriftarten die Verwendung von Schriftartenfallback nach Möglichkeit. Das Schriftarten-Fallback bedeutet, dass das System bestimmt, zu welchem Skript das Zeichen gehört.
Verwenden des Schriftfallbacks
Um dieses Feature nutzen zu können, legen Sie die Font Eigenschaft für Ihr Formular oder ein anderes Element nicht fest. Die Anwendung verwendet automatisch die Standardschriftart des Systems, die sich von einer lokalisierten Sprache des Betriebssystems zu einer anderen unterscheidet. Wenn die Anwendung ausgeführt wird, stellt das System automatisch die richtige Schriftart für die im Betriebssystem ausgewählte Kultur bereit.
Es gibt eine Ausnahme von der Regel, die Schriftart nicht festzulegen, die zum Ändern des Schriftschnitts dient. Dies kann für eine Anwendung wichtig sein, in der der Benutzer auf eine Schaltfläche klickt, damit Text in einem Textfeld fett formatiert angezeigt wird. Dazu schreiben Sie eine Funktion, um den Schriftschnitt des Textfelds basierend auf der Schriftart des Formulars fett zu ändern. Es ist wichtig, diese Funktion an zwei Stellen aufzurufen: im Ereignishandler der Schaltfläche Click und im FontChanged Ereignishandler. Wenn die Funktion nur im Click Ereignishandler aufgerufen wird und ein anderer Codeabschnitt die Schriftfamilie des gesamten Formulars ändert, ändert sich das Textfeld nicht mit dem Rest des Formulars.
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();
}
}
Wenn Sie Ihre Anwendung lokalisieren, wird die fett formatierte Schriftart jedoch für bestimmte Sprachen möglicherweise schlecht angezeigt. Wenn dies ein Problem ist, möchten Sie, dass die Lokalisierer die Möglichkeit haben, die Schriftart von fett in regulären Text zu wechseln. Da Lokalisierer in der Regel nicht Entwickler sind und keinen Zugriff auf Quellcode haben, muss diese Option nur für Ressourcendateien in den Ressourcendateien festgelegt werden. Dazu legen Sie die Bold Eigenschaft auf true
. Dies führt dazu, dass die Schriftarteinstellung in die Ressourcendateien geschrieben wird, in denen Lokalisierer sie bearbeiten können. Anschließend schreiben Sie Code nach der InitializeComponent
Methode, um die Schriftart basierend auf der Schriftart des Formulars zurückzusetzen, wobei jedoch der in der Ressourcendatei angegebene Schriftschnitt verwendet wird.
TextBox1.Font = New System.Drawing.Font(Me.Font, TextBox1.Font.Style)
textBox1.Font = new System.Drawing.Font(this.Font, textBox1.Font.Style);
Siehe auch
.NET Desktop feedback