none
Hacer que cambie una imagen por otra imagen cuando el cursor está sobre ella. RRS feed

  • Pregunta

  • Saludos a todos, tengo este problema, verán tengo un proyecto de Windows Form en C#.

    Tengo un Picturebox que contiene una imagen, pero yo quiero que al pasar el cursor sobre el picturebox la imagen que contiene se cambie por otra. Ya estuve intentando con varias opciones que encontré en internet pero al parecer no funciona ninguna, Espero que alguno de uds. me pueda ayudar, aquí les dejo el código que estoy utilizando (no me funciona):

            private void btniniciar_MouseHover(object sender, EventArgs e)
            {
                btnCapacitancia.Image = Fisica.Properties.Resources.C_2;
            }
            private void btnCapacitancia_MouseLeave(object sender, EventArgs e)
            {
                btnCapacitancia.Image = Fisica.Properties.Resources.C_1;
            }

    Bien, Fisica es el nombre de todo mi proyecto, y en la carpeta Properties tengo guardadas las imágenes C_2 y C_1 pero como ya mencioné anteriormente, no funciona, también ya intente mandando a llamar las imágenes desde un ImageList pero tampoco funciono, espero que puedan ayudarme, Gracias. 

    domingo, 29 de noviembre de 2015 0:01

Respuestas

  • Para poder recuperar una imagen con Fisica.Properties.Resourcses.<nombre>, no debes guardar las imágenes en la carpeta Properties, sino en el archivo de recursos del proyecto.

    En el Explorador de Soluciones haz click con el botón derecho del ratón sobre el proyecto y selecciona la opción "Propiedades".
    En la pantalla de Propiedades del Proyecto selecciona en el menú de la izquierda "Recursos".
    Selecciona en la barra superior "Imágenes" y agrega las imágenes que vas a utilizar.

    A cada imagen le das un nombre, que puede o no coincidir con el nombre del archivo original, éste es el nombre que debes utilizar cuando quieras recuperarla con Fisica.Properties.Resources.<nombre_recurso>


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    domingo, 29 de noviembre de 2015 10:23
  • >>Tengo un Picturebox que contiene una imagen, pero yo quiero que al pasar el cursor sobre el picturebox la imagen que contiene se cambie por otra

    una duda, si quiere cambiar la imgen al pasar el mouse sobre el picturebox, porque asignaste el evento MouseHover y MouseLeave al boton ?

    porque alli veo que defines

    private void btniniciar_MouseHover(object sender, EventArgs e)

    no deberias asignarlo al PictureBox ? o a los controles de imagen les has puesto btn en su nombre

    Nota: recomendaria usar el evento MouseEnter para cambiar la imagen

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 30 de noviembre de 2015 10:30

Todas las respuestas

  • Hola

    Te podria faltar el Refresh

    btnCapacitancia.Refresh();

    Saludos

    domingo, 29 de noviembre de 2015 0:11
  • Para poder recuperar una imagen con Fisica.Properties.Resourcses.<nombre>, no debes guardar las imágenes en la carpeta Properties, sino en el archivo de recursos del proyecto.

    En el Explorador de Soluciones haz click con el botón derecho del ratón sobre el proyecto y selecciona la opción "Propiedades".
    En la pantalla de Propiedades del Proyecto selecciona en el menú de la izquierda "Recursos".
    Selecciona en la barra superior "Imágenes" y agrega las imágenes que vas a utilizar.

    A cada imagen le das un nombre, que puede o no coincidir con el nombre del archivo original, éste es el nombre que debes utilizar cuando quieras recuperarla con Fisica.Properties.Resources.<nombre_recurso>


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    domingo, 29 de noviembre de 2015 10:23
  • >>Tengo un Picturebox que contiene una imagen, pero yo quiero que al pasar el cursor sobre el picturebox la imagen que contiene se cambie por otra

    una duda, si quiere cambiar la imgen al pasar el mouse sobre el picturebox, porque asignaste el evento MouseHover y MouseLeave al boton ?

    porque alli veo que defines

    private void btniniciar_MouseHover(object sender, EventArgs e)

    no deberias asignarlo al PictureBox ? o a los controles de imagen les has puesto btn en su nombre

    Nota: recomendaria usar el evento MouseEnter para cambiar la imagen

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 30 de noviembre de 2015 10:30