none
Personalizar Button (ponerle imagen y que se hunda cuando se presione) RRS feed

  • Pregunta

  • Hola a todos!!!! Quería preguntrales si hay alguna manera de que, si le pongo una imagen al Button, cuando sea presionado tenga el efecto de "hundirse" tal como el estándar que viene con el VS!
    Quiero cambiar el diseño de los botones, pero noto que sin ese efecto quedan muy simples y ni parecen botones.. :(

    Gracias y saludos para todos :)
    Vanesa
    martes, 3 de febrero de 2009 17:48

Respuestas

  • Hola Vanesa,

    en principio, si utilizas el control Button que te proporciona VS, ese comportamiento es el comportamiento normal (que se hunda el btoón). No sé cómo has incluido la imagen al botón, pero es tan simple como añadir un nuevo control Button al formulario, ir a las propiedades del botón (seleccionándolo y presionando F4) y, en la propiedad Image, seleccionar la imagen que quieres asociar al botón. Luego puedes jugar con la posición y tamaño de la imagen con las propiedades ImageAlign y TextAlign.

    En principio, haciendo eso, el botón tiene el comportamiento normal de un Button, pero con una imagen asociada.


    Si lo que quieres es, que una imagen (con apariencia de botón) que has creado, se comporte como un Button, entonces debes añadir un control PictureBox, y capturar los eventos MouseDown y MouseUp. En el evento MouseDown, desplaza la imagen un poco a la derecha y hacia abajo (y si dispones de otra imagen en la que se vea el botón un poco más oscuro, cámbiala en ese momento). Luego en el evento MouseUp, vuelve a colocar la imagen en la posición inicial (y si la has cambiado por la versión oscura, vuelve a colocar la imagen inicial).

    De esa forma obtendrás el efecto de pulsado.

    Espero que te sirva de ayuda!

    Si es así, porfavor, marca la respuesta como válida! ;)

    Gracias y suerte!
    ===================================================================================== Javier Jiménez Roda MCP (Microsoft Certified Professional) MCTS Web Apps (Microsoft Certified Technology specialist)
    • Marcado como respuesta Vanesa87 jueves, 5 de febrero de 2009 0:11
    miércoles, 4 de febrero de 2009 8:35

Todas las respuestas

  • Hola Vanesa,

    en principio, si utilizas el control Button que te proporciona VS, ese comportamiento es el comportamiento normal (que se hunda el btoón). No sé cómo has incluido la imagen al botón, pero es tan simple como añadir un nuevo control Button al formulario, ir a las propiedades del botón (seleccionándolo y presionando F4) y, en la propiedad Image, seleccionar la imagen que quieres asociar al botón. Luego puedes jugar con la posición y tamaño de la imagen con las propiedades ImageAlign y TextAlign.

    En principio, haciendo eso, el botón tiene el comportamiento normal de un Button, pero con una imagen asociada.


    Si lo que quieres es, que una imagen (con apariencia de botón) que has creado, se comporte como un Button, entonces debes añadir un control PictureBox, y capturar los eventos MouseDown y MouseUp. En el evento MouseDown, desplaza la imagen un poco a la derecha y hacia abajo (y si dispones de otra imagen en la que se vea el botón un poco más oscuro, cámbiala en ese momento). Luego en el evento MouseUp, vuelve a colocar la imagen en la posición inicial (y si la has cambiado por la versión oscura, vuelve a colocar la imagen inicial).

    De esa forma obtendrás el efecto de pulsado.

    Espero que te sirva de ayuda!

    Si es así, porfavor, marca la respuesta como válida! ;)

    Gracias y suerte!
    ===================================================================================== Javier Jiménez Roda MCP (Microsoft Certified Professional) MCTS Web Apps (Microsoft Certified Technology specialist)
    • Marcado como respuesta Vanesa87 jueves, 5 de febrero de 2009 0:11
    miércoles, 4 de febrero de 2009 8:35
  • Javier, muchísimas gracias por tu ayuda!!!

    Manejé los 2 eventos que mencionaste más el MouseHover y MouseLeave y logré todo lo que quería :D

    Saludos, gracias :D

    Vanesa

    jueves, 5 de febrero de 2009 0:11