visual tipo tamaño subrayado para net negrita letra fuente cursiva como color codigo cambiar .net winforms

.net - tipo - negrita cursiva y subrayado en visual basic



WinForms: ¿Cuál es la forma correcta de cambiar el estilo de fuente(subrayado) de una etiqueta en tiempo de ejecución? (4)

¿Qué tal (estoy usando .NET Framework 2.0) bien, así que esto funciona para una aplicación web. En una aplicación de formularios, es de solo lectura.

lblName.Font.Underline = verdadero;

Aquí está la definición:

// // Summary: // Gets or sets a value that indicates whether the font is underlined. // // Returns: // true if the font is underlined; otherwise, false. The default value is false. [DefaultValue(false)] [NotifyParentProperty(true)] public bool Underline { get; set; }

C #: ¿Cuál es la forma correcta de cambiar el estilo de fuente (subrayado) de una etiqueta en tiempo de ejecución?

Hasta ahora entiendo que si quieres cambiar las propiedades relacionadas con las fuentes en el tiempo de ejecución de una etiqueta, principalmente todas las propiedades de la fuente, deberías usar

lblName.Font = new Font(... etc. etc.

¿Hay un acceso directo al anterior pero solo asigna nada más que un nuevo estilo de fuente como FontStyle.Underline?

o

¿Tendría que seguir utilizando el "nuevo método Font ()" y asignar todos los campos junto con él solo para subrayar mi etiqueta?


La forma en que lo hiciste:

this.Font = new Font(this.Font, FontStyle.Underline);

es correcto. La razón es que Font es un tipo sellado e inmutable (por diseño). Cuando se introdujo en .NET 1, esto parecía un poco extraño, pero con el énfasis de hoy en la programación funcional, concurrencia e inmutabilidad, este estilo se ve mucho más. Tal vez se hizo de esta manera ya que los controles heredan la fuente de su contenedor y el seguimiento de los cambios de propiedad de fuente individual sería más trabajo que el seguimiento de un cambio de fuente al por mayor.


Recurrido a,

this.Font = new Font (this.Font, FontStyle.Underline);

Funciona para formularios Win32.


//Bold. label1.Font = new Font(label1.Font.Name, 12, FontStyle.Bold); //Bold With Underline. label1.Font = new Font(label1.Font.Name, 12, FontStyle.Bold | FontStyle.Underline); //Bold with Underline with Italic. label1.Font = new Font(label1.Font.Name, 12, FontStyle.Bold | FontStyle.Underline | FontStyle.Italic);