none
Dos Fuentes en un Label ??? RRS feed

  • Pregunta

  • Hola a todos. Como hago para poner dos o mas fuentes en un label.

    M en 16 y MAX en 8 

    Mi nombre es Pablo.  Solo quiero subrayar mi nombre.

    Saludos

    martes, 20 de abril de 2021 3:10

Respuestas

  • El Label "estándar" no soporta nada más que un único font.

    Sugerencias para lograr el efecto deseado.

    1. Utilizar un richTextBox. Jugando con las propiedades se puede cambiar el color de fondo y configurarlo en solo-lectura, de forma que adquiera un aspecto muy similar al del Label. El RichTextbox sí que permite mezclar dos fonts.
    2. Definir un UserControl que dentro contenga dos labels, cada una con un Font, y usar este UserControl en lugar del Label.
    3. Crear un control de usuario que utilice GDI+ en el OnPaint para dibujar texto como si fuera un Label. Con dos llamadas a DrwString se pueden usar dos Fonts.

    martes, 20 de abril de 2021 15:12
  • Hola Pablo,

    Lo que deseas hacer se puede realizar, sin embargo, en un solo label es imposible por lo mencionado anteriormente, pero lo que debes hacer, se puede de la siguiente manera crear varios label e ir concatenándolos, por ejemplo:

    string message = "Mi nombre es: Pablo"; string[] parts = message.Split(':'); Label myLab = new Label(); myLab.Text = parts[0] + ":"; myLab.Font = new Font("Times New Roman", 10, FontStyle.Regular); myLab.AutoSize = true; this.Controls.Add(myLab);

    Label myLab1 = new Label(); myLab1.Text = parts[1]; myLab1.Font = new Font("Times New Roman", 10, FontStyle.Underline); myLab1.AutoSize = true; this.Controls.Add(myLab1);

    Lo que hace el programa anterior es dividir el texto en dos, la primera partes sería antes de los ":" y la segunda después del mismo. Lo único que debes hacer es inidcar la posición para crear los label.

    Saludos,

    Eric Ruiz

    martes, 20 de abril de 2021 15:24
    Moderador

Todas las respuestas

  • Solo se puede usar una fuente en el mismo label.

    No se puede ser alto y bajo a la vez de un mismo individuo.

    Otra cosa es que uses una fuente y lo cambies de un mismo label como que un individuo cambia de apariencia de ahora a cuando lleguen los carnavales. ;)


    http://electronica-pic.blogspot.com

    martes, 20 de abril de 2021 12:29
  • pido disculpas a pablo de ante mano por usar su consulta para preguntarle algo a Metaconta 

    hola metaconta veo que tienes un blog hecho en blogger hice uno hace unos días de películas pero no se como hacer para que al teclear en el buscador aparezca mi blog  pongo la direccion completa pero me dice que mi blog no se a registrado le doy al botón registrar mi blog y me manda a blogger directamente más sin embargo desde que puse el tuyo me lo mostro si no es mucha molestia me podria decir como le hizo usted para que al teclear la dirección me abra la página y las demás personas puedan acceder?

    gracias de ante mano

    martes, 20 de abril de 2021 13:19
  • El Label "estándar" no soporta nada más que un único font.

    Sugerencias para lograr el efecto deseado.

    1. Utilizar un richTextBox. Jugando con las propiedades se puede cambiar el color de fondo y configurarlo en solo-lectura, de forma que adquiera un aspecto muy similar al del Label. El RichTextbox sí que permite mezclar dos fonts.
    2. Definir un UserControl que dentro contenga dos labels, cada una con un Font, y usar este UserControl en lugar del Label.
    3. Crear un control de usuario que utilice GDI+ en el OnPaint para dibujar texto como si fuera un Label. Con dos llamadas a DrwString se pueden usar dos Fonts.

    martes, 20 de abril de 2021 15:12
  • Hola Pablo,

    Lo que deseas hacer se puede realizar, sin embargo, en un solo label es imposible por lo mencionado anteriormente, pero lo que debes hacer, se puede de la siguiente manera crear varios label e ir concatenándolos, por ejemplo:

    string message = "Mi nombre es: Pablo"; string[] parts = message.Split(':'); Label myLab = new Label(); myLab.Text = parts[0] + ":"; myLab.Font = new Font("Times New Roman", 10, FontStyle.Regular); myLab.AutoSize = true; this.Controls.Add(myLab);

    Label myLab1 = new Label(); myLab1.Text = parts[1]; myLab1.Font = new Font("Times New Roman", 10, FontStyle.Underline); myLab1.AutoSize = true; this.Controls.Add(myLab1);

    Lo que hace el programa anterior es dividir el texto en dos, la primera partes sería antes de los ":" y la segunda después del mismo. Lo único que debes hacer es inidcar la posición para crear los label.

    Saludos,

    Eric Ruiz

    martes, 20 de abril de 2021 15:24
    Moderador