Cambiar color de fondo y texto de una label

06/04/2005 - 09:49 por Pablo Diaz Molina | Informe spam
Buenas a todos. Tengo un control heredado de TextBox. En dicho control
quiero cambiarle el color al fondo y al texto. El fondo quiero ponerlo
degradado a partir de dos colores y el texto de un color. Uso el siguiente
Código pero no me da resultados, a ver si alguno me puede dcir q esta
fallando:

Esta es la función donde cambio el color del fondo y del texto
private void colorearTexto(PaintEventArgs e)

{

Rectangle rectangulo = e.ClipRectangle;

Brush pincel = new LinearGradientBrush
(rectangulo,Color.LightGray,Color.White,LinearGradientMode.Vertical);

Brush boli = new SolidBrush(SystemColors.ControlText);

e.Graphics.FillRectangle(pincel,rectangulo);


e.Graphics.DrawString(this.Text,this.Font,boli,rectangulo.Left,rectangulo.To
p);

}

Y a esta función la llamo en el constrcutor del componente heredado de la
siguiente manera:

public TextBoxSoloLectura()

{

InitializeComponent();


base.ReadOnly = true;

Graphics gphZonaPintar = base.CreateGraphics();

gphZonaPintar.Clip = new Region(new Rectangle(base.Location,base.Size));


System.Windows.Forms.PaintEventArgs e = new
PaintEventArgs(gphZonaPintar,new Rectangle
(base.Location,base.Size));

colorearTexto (e);

}

Pues esto no me hace nada, ni me pinta el fondo ni el texto en el color q yo
le indique. Si el codigo de la función colorearTexto lo pongo en el evento
paint de una label o de un form, por ejemplo, si me pinta el fondo y el
texto en el color que le indico



Una saludo a todos,

Pablo Diaz.-
 

Preguntas similares