Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En las aplicaciones internacionales, el método recomendado para seleccionar fuentes es usar la recuperación de fuentes siempre que sea posible. La sustitución de fuentes significa que el sistema determina a qué sistema de escritura pertenece el carácter.
Uso de reserva de fuentes
Para aprovechar esta característica, no establezca la Font propiedad del formulario ni de ningún otro elemento. La aplicación usará automáticamente la fuente del sistema predeterminada, que difiere de un idioma localizado del sistema operativo a otro. Cuando se ejecuta la aplicación, el sistema proporcionará automáticamente la fuente correcta para la referencia cultural seleccionada en el sistema operativo.
Hay una excepción a la regla de no establecer la fuente, que es para cambiar el estilo de fuente. Esto puede ser importante para una aplicación en la que el usuario hace clic en un botón para que el texto de un cuadro de texto aparezca en negrita. Para ello, escribiría una función para cambiar el estilo de fuente del cuadro de texto a negrita, en función de la fuente del formulario. Es importante llamar a esta función en dos lugares: en el controlador de eventos del botón Click y en el controlador de eventos del FontChanged. Si solo se llama a la función en el Click controlador de eventos y algún otro fragmento de código cambia la familia de fuentes de todo el formulario, el cuadro de texto no cambia con el resto del formulario.
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();
}
}
Sin embargo, al localizar la aplicación, la fuente en negrita puede mostrarse mal para determinados idiomas. Si esto es un problema, querría que los localizadores tuvieran la opción de cambiar la fuente de negrita a texto regular. Dado que los localizadores normalmente no son desarrolladores y no tienen acceso al código fuente, solo para los archivos de recursos, esta opción debe establecerse en los archivos de recursos. Para ello, establecería la Bold propiedad en true. Esto hace que la configuración de la fuente se escriba en los archivos de recursos, donde los localizadores pueden editarla. A continuación, escriba código después del InitializeComponent método para restablecer la fuente en función de la fuente del formulario, pero con el estilo de fuente especificado en el archivo de recursos.
TextBox1.Font = New System.Drawing.Font(Me.Font, TextBox1.Font.Style)
textBox1.Font = new System.Drawing.Font(this.Font, textBox1.Font.Style);
Consulte también
.NET Desktop feedback