Discussion:
Cambiar color de fondo y texto de una label
(demasiado antiguo para responder)
Pablo Diaz Molina
2005-04-06 07:49:55 UTC
Permalink
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.-
Juan T. Llibre
2005-04-13 18:54:42 UTC
Permalink
Y, no sería mas fácil usar las propiedades del Label ?

<asp:Label id="V" runat="server" ForeColor ="Blue"
backcolor="Beige"></asp:Label>

También podrías usar ( en código )

V.ForeColor = RGB(255, 255, 255)
V.BackColor = RGB(0, 0, 0)



Juan T. Llibre
ASP.NET MVP
http://asp.net.do/foros/
Foros de ASP.NET en Español
Ven, y hablemos de ASP.NET...
======================
¿Has probado a sobreescribir el método OnPaint?
dIEGO cAMPOS
Saludos
Post by Pablo Diaz Molina
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
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
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.-
Continúe leyendo en narkive:
Loading...