none
Cambiar el color a un boton RRS feed

  • Pregunta

  • Amigos como estan, necesito que cuando el mouse este sobre un boton, cambiar el color de este, como lo puedo hacer, he buscado las propiedades y no hay nada de eso.

    Gracias
    lunes, 2 de febrero de 2009 16:57

Respuestas

  • Hola. Utilizando el método estático "FromArgb" de la estructura "Color" (System.Drawing.Color).

                this.button1.BackColor = Color.FromArgb(0, 128, 0); 

    Saludos,
    Nicolás.


    Nicolás Ferreira | http://nicolasferreira.com/
    • Marcado como respuesta Fsigu lunes, 2 de febrero de 2009 21:20
    lunes, 2 de febrero de 2009 18:46

Todas las respuestas

  • Hola. Tenés que suscribirte a los eventos "MouseEnter" y "MouseLeave" del botón. "MouseEnter" se produce cuando el cursor entra en el botón mientras que "MouseLeave" se produce cuando el cursor sale del botón. Tendrías que cambiar el color del botón en el evento "MouseEnter" y opcionalmente restaurar el color en "MouseLeave". Así:

            private void button1_MouseEnter(object sender, EventArgs e)  
            {  
                this.button1.BackColor = Color.Green;  
            }  
            private void button1_MouseLeave(object sender, EventArgs e)  
            {  
                this.button1.BackColor = SystemColors.Control;  
            } 

    Saludos,
    Nicolás.


    Nicolás Ferreira | http://nicolasferreira.com/
    lunes, 2 de febrero de 2009 17:27
  • perfecto amigo muchas gracias, ahora como haria para poner un color personalizado, por decir algo el color  255,154,245 gracias por responder
    lunes, 2 de febrero de 2009 17:55
  • Hola Fsigu,

    Para determinar tu color a partir de los valores RGB utiliza el método FromArgb() de la clase Color.

    Ejemplo:

    private void button1_MouseEnter(object sender, EventArgs e)
    {
     
     this.button1.BackColor = Color.FromArgb(255, 154, 245);
    }
    lunes, 2 de febrero de 2009 18:45
  • Hola. Utilizando el método estático "FromArgb" de la estructura "Color" (System.Drawing.Color).

                this.button1.BackColor = Color.FromArgb(0, 128, 0); 

    Saludos,
    Nicolás.


    Nicolás Ferreira | http://nicolasferreira.com/
    • Marcado como respuesta Fsigu lunes, 2 de febrero de 2009 21:20
    lunes, 2 de febrero de 2009 18:46
  • amigos yo de nuevo, ahora mi inquietu es como hago para poner un color degradado al boton  hay como hacer eso en windows forms??
    Saludos
    miércoles, 4 de febrero de 2009 23:05
  • Hola Fsigu. Estuve pensando y se me ocurrió lo siguiente, espero que te sirva:

    using System.Drawing;  
    using System.Drawing.Drawing2D;  
    using System.Windows.Forms; 

     

        public class Boton : Button  
        {  
            private Bitmap imagenFondo;  
            public Boton()  
            {  
                DibujarImagenFondo();  
            }  
            private void DibujarImagenFondo()  
            {  
                if (imagenFondo != null)  
                    imagenFondo.Dispose();  
                imagenFondo = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);  
                Graphics superficieDibujo = Graphics.FromImage(imagenFondo);  
                LinearGradientBrush degradadoLineal = new LinearGradientBrush(  
                    this.ClientRectangle, Color.Black, Color.White, LinearGradientMode.Vertical);  
                superficieDibujo.FillRectangle(degradadoLineal, this.ClientRectangle);  
                degradadoLineal.Dispose();  
                superficieDibujo.Dispose();  
            }  
            public override System.Drawing.Image BackgroundImage  
            {  
                get 
                {  
                    return imagenFondo;  
                }  
            }  
            protected override void OnSizeChanged(System.EventArgs e)  
            {  
                DibujarImagenFondo();  
                base.OnSizeChanged(e);  
            }  
            protected override void Dispose(bool disposing)  
            {  
                imagenFondo.Dispose();  
                base.Dispose(disposing);  
            }  
        } 

    Saludos,
    Nicolás.


    Nicolás Ferreira | http://nicolasferreira.com/
    jueves, 5 de febrero de 2009 0:03
  • Hola disculpa e utilizado el código del FromArgb, tengo una duda como puedo hacer para que al hacer otro clic cambie a otro color, por ejemplo estoy haciendo un sistema de ventas de pasaje de buses, bueno los asientos vacíos por ejemplo de color verde y los ocupados de rojo, bueno con el código de arriba que pusiste lo utilizo para cambiar a rojo, pero para devolver al color verde haciendo clic en el mismo botón rojo como podría lograr a hacerlo? espero me pudieras ayudar gracias.
    viernes, 4 de marzo de 2016 18:20
  • muchas gracias  y si le quieren cambiar o poner un color personalizado se usa el siguiente

     this.buttonanswer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(32)))), ((int)(((byte)(96)))));
                

    miércoles, 23 de agosto de 2017 0:22