cómo usar dos colores en la etiqueta del texto en c#

programación


Tengo una etiqueta con texto: Proyecto …..En este texto necesito pro en un color y ject en otro color

Solución 1

Solo puedes tener un color en una etiqueta.
Como solución sencilla, puede utilizar dos etiquetas (con diferentes colores de fuente) para hacer esto.

Una solución más compleja sería crear su propio control de usuario.

Solución 4

Una vez tuve que crear una etiqueta “Degradado”… Este es el código (funciona en Winforms)

public partial class GradientLabel : Label {

public LabelEx() {
    InitializeComponent();
}

protected override void OnPaint(PaintEventArgs e) {
    Font font = new Font("Tahoma", 48f, FontStyle.Bold);
    LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, Width, Height + 5), Color.Gold, Color.Black, LinearGradientMode.Vertical);
    e.Graphics.DrawString(Text, font, brush, 0, 0);
}

}

Esto no es exactamente “dos colores”, pero puede llevarle a una solución.

Solución 8

Una solución alternativa. Cree un “botón” inferior con parte del texto, luego siga superponiéndolo con botones que contengan algunos de los caracteres en diferentes colores y transparente fondos, superponiéndose al “botón” inferior. Utilizo “botón” porque todos ellos son objetos ficticios con forma de botón. Sólo el elemento de nivel superior es un “botón” real, lo que realmente equivale a tener un evento al hacer clic.

Por cierto, esto es bastante práctico porque se utiliza en ciertos tipos de estafas de phishing: superponer los datos reales del sitio web con controles transparentes que aceptan la entrada, la envían de vuelta a los estafadores y luego informan un error (yendo a la página real para volver a ingresar) o incluso ingresar el texto en la pantalla real cuando la capa invisible desaparece.

Solución 2

intente configurar la propiedad de texto en texto html como

lbl.Text="<span style="color:Red;">Pro</span><span><span style="color:Green;">ject</span>";
</span>

desde el final del formulario ASPX.

Solución 5

Si está utilizando WPF, es bastante sencillo.
Vea mi solución en Coloración selectiva de texto en WPF textBox[^]

Puedes hacerlo con una Etiqueta de manera comparable.

コメント

タイトルとURLをコピーしました