Acerca de:

Este blog contiene los códigos, ejemplos y bases de datos que he usado cuando aprendía acerca de algún tema específico. En lugar de borrarlos (una vez dominado ya el tema), he decidido publicarlos :)

martes, 19 de abril de 2011

C# Code Snippet: Usando el control FontDialog

En una aplicación tipo WindowsApplication tengo un FontDialog, y quiero que cuando el usuario hace click en "Aceptar", los valores de este FontDialog se almacenen en un objeto tipo FontStyle, el que luego se utiliza para crear un objeto tipo Font.

El código es éste:

if (dlgFont.ShowDialog() == DialogResult.OK)
{
  // asigno el estilo de fuente
    myFontStyle =
        dlgFont.Font.Bold ? FontStyle.Bold :
        dlgFont.Font.Italic ? FontStyle.Italic :
        dlgFont.Font.Underline ? FontStyle.Underline :
        dlgFont.Font.Strikeout ? FontStyle.Strikeout : FontStyle.Regular;

    myFont = 
         new Font(dlgFont.Font.Name, dlgFont.Font.Size, myFontStyle);                                          
}

Aquí hago uso del operador ternario '?' para acortar la expresión donde se asigna el tipo de la fuente. Si no uso este operador, la expresión sería:

if (dlgFont.Font.Bold)
    myFontStyle = FontStyle.Bold;
else
    if (dlgFont.Font.Italic)
        myFontStyle = FontStyle.Italic;
    else
        if (dlgFont.Font.Underline)
            myFontStyle = FontStyle.Underline;
        else
            if (dlgFont.Font.Strikeout)
                myFontStyle = FontStyle.Strikeout;
            else
                myFontStyle = FontStyle.Regular; 

No hay comentarios: