elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Cargar Imagen en botones mediante codigo en C# (Windows Form)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cargar Imagen en botones mediante codigo en C# (Windows Form)  (Leído 24,232 veces)
elg.system.32

Desconectado Desconectado

Mensajes: 6


MundoELG


Ver Perfil
Cargar Imagen en botones mediante codigo en C# (Windows Form)
« en: 9 Abril 2015, 21:14 pm »

Hola a todos.

Me gustaria realizar un juego Mental o juego de pares o juego de la memoria.

Para esto practico tratando de resolver mi primer problema que es Cargar Imagen en botones mediante codigo. asi que empece a realizar esta solucion o proyecto.









Agregué una carpeta denominado "imagenes" dentro la solucion o proyecto.


En dicha carpeta "imagenes" tengo varias imagenes (Imagen_001, Imagen_002, Imagen_003, Imagen_004, Imagen_005 y Imagen_006).


De momento cuando ejecuto el programa me sale asi:


Ahora necesito cargar una imagen desde esta carpeta "imagenes" al boton [Btn_Carga] para asi mostrarse la imagen en el boton.

Tambien indicar que la ruta de las imagenes deben de ser relativas y no absulotas. cosa que cuando ejecute este proyecto en otro computador no me genere problemas o error de ruta.

Espero puedan ayudarme para que pueda continuar en esta etapa de crear el juego mencionado anteriormente.

Gracias y saludos.


 
:laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh:


« Última modificación: 9 Abril 2015, 22:43 pm por elg.system.32 » En línea

Lo que no te mata, te hace mas fuerte
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #1 en: 9 Abril 2015, 21:23 pm »

Algo como:
Código
  1. button.BackgroundImage = Image.FromFile(@"imagenes/img.jpg");


En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #2 en: 9 Abril 2015, 21:29 pm »

Dos formas, una como dice ivancea96:

Código
  1. button.BackgroundImage = Image.FromFile(@"rutaImagen.jpg");

Otra:

Código
  1. FileStream file = new FileStream("rutaImagen.jpg", FileMode.Open);
  2. Image toLoad = Image.FromStream(file);
  3. button.Image = toLoad;
  4.  

Mod: Clase FileStream dentro de System.IO;

Salu2s
En línea

elg.system.32

Desconectado Desconectado

Mensajes: 6


MundoELG


Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #3 en: 9 Abril 2015, 21:31 pm »

Primero agradecer por las respuestas y lo intentare de ambas formas luego indico como me va.

Gracias.



 
;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
En línea

Lo que no te mata, te hace mas fuerte
elg.system.32

Desconectado Desconectado

Mensajes: 6


MundoELG


Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #4 en: 9 Abril 2015, 21:48 pm »

Hola de nuevo.

coloque este código en el evento load del formulario segun me indicaron:

Segun ivancea96:


Código
  1. private void Frm_CargarImagenEnBoton_001_Load(object sender, EventArgs e)
  2. {
  3.  Btn_Carga.BackgroundImage = Image.FromFile(@"imagenes/Imagen_001.png");
  4. }
  5.  

Segun DarK_FirefoX:

Código
  1. using System.IO;
  2.  
  3. private void Frm_CargarImagenEnBoton_001_Load(object sender, EventArgs e)
  4. {
  5.  FileStream file = new FileStream(@"imagenes/Imagen_001.png", FileMode.Open);
  6.  Image toLoad = Image.FromStream(file);
  7.  Btn_Carga.Image = toLoad;
  8. }
  9.  

pero no carga ninguna imagen en el boton, como tampoco me marca ningun tipo de error.

No estoy seguro si utilice mal las sugerencias o necesito hacer algo mas, espero sus observaciones.

Saludos.


 
:-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-(
« Última modificación: 9 Abril 2015, 23:09 pm por elg.system.32 » En línea

Lo que no te mata, te hace mas fuerte
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #5 en: 9 Abril 2015, 21:57 pm »

Buenas

1. Aunque puedes cargar imágenes locales, es bastante feo e improductivo, deberías utilizar la infraestructura Settings para añadir tus recursos de imágenes a la tabla de recursos administrada.
En las propiedades del proyecto puedes administrar los recursos.

2. En la imagen que has mostrado estás colocando la carpeta "imagenes" en el directorio de la solución, no en el directorio de compilación, que sería ...\Bin\Debug y ...\Bin\Release dependiendo del modo de compilación.

PD: Formula futuras dudas sobre C# en la sección correcta de programación dedicada a la plataforma .Net

Saludos
En línea



DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #6 en: 9 Abril 2015, 22:34 pm »

Como bien dice Eleкtro, estás utilizando una ruta relativa, por lo tanto la carpeta imágenes debe estar dentro ...\Bin\Debug y/o ...\Bin\Release dependiendo del modo de compilación. En otro caso puedes probar a usar una ruta absoluta

También hay que ver cuál es el objetivo de cargar las imágenes, si quieres que el usuario añada la imagen que quiera o tienes algunas predefinidas, en el segundo caso, deberías hacer uso de, como dice Eleкtro, la infraestructura Settings para manejar los recursos de imágenes.

Salu2s
En línea

elg.system.32

Desconectado Desconectado

Mensajes: 6


MundoELG


Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #7 en: 9 Abril 2015, 23:05 pm »

Como bien dice Eleкtro, estás utilizando una ruta relativa, por lo tanto la carpeta imágenes debe estar dentro ...\Bin\Debug y/o ...\Bin\Release dependiendo del modo de compilación. En otro caso puedes probar a usar una ruta absoluta

También hay que ver cuál es el objetivo de cargar las imágenes, si quieres que el usuario añada la imagen que quiera o tienes algunas predefinidas, en el segundo caso, deberías hacer uso de, como dice Eleкtro, la infraestructura Settings para manejar los recursos de imágenes.

Salu2s

Que tal DarK_FirefoX.

Es necesario hacer esto que indicas de colocar la carpeta "imagenes" dentro de ...\Bin\Debug y/o ...\Bin\Release.


Esto se debe hacer por que es lo mas correcto o solo por la facilidad de trabajar. espero no cansar con estas preguntas, solo que quisiera hacer de manera correcta.

Agregue esta carpeta "imagenes" mediante el editor o Programa visual Estudio



y este la agrego en esta parte de la solucion o programa:



por esta razon esperaba cargar las imagenes de esta carpeta.

Saludos
En línea

Lo que no te mata, te hace mas fuerte
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #8 en: 9 Abril 2015, 23:21 pm »

Agregue esta carpeta "imagenes" mediante el editor o Programa visual Estudio[/size]

Eso solo sirve para manejar la estructura del proyecto, separa de tu mente lo que es el proyecto con la forma en la que trabaja el ensamblado que compilas.

Si tu archivo 'compilado.exe', es decir si tú código fuente, va a cargar imagenes locales entonces no necesitas añadir esas imagenes al proyecto.

Es necesario hacer esto que indicas de colocar la carpeta "imagenes" dentro de ...\Bin\Debug y/o ...\Bin\Release.[/size]

Esto se debe hacer por que es lo mas correcto o solo por la facilidad de trabajar. espero no cansar con estas preguntas, solo que quisiera hacer de manera correcta.

vamos a ver, para que lo entiendas mejor:

La carpeta "imagenes" se encuentra aquí:
Código:
Directorio raíz del proyecto

El proyecto que compilas se encuentra aquí:
Código:
Directorio raíz del proyecto\Bin\Debug

Cómo ves, el directorio de las imagenes lo pusiste 2 niveles superiores al directorio de compilación, así que si usases una ruta relativa tendrías que subir dos niveles del directorio de trabajo actual para acceder al directorio "imagenes":
Código
  1. Image.FromFile(@"./../../imagenes/imagen_001.png");

Obviamente NO quieres eso, por que no tiene sentido distribuir una aplicación de esa manera.

Por ende, debes coloca la carpeta "imagenes" en el mismo directorio donde se encuentra el executable que has compilado (programa.exe).

Saludos
« Última modificación: 9 Abril 2015, 23:40 pm por Eleкtro » En línea



elg.system.32

Desconectado Desconectado

Mensajes: 6


MundoELG


Ver Perfil
Re: Cargar Imagen en botones mediante codigo en C# (Windows Form)
« Respuesta #9 en: 9 Abril 2015, 23:45 pm »


Por ende, debes coloca la carpeta "imagenes" en el mismo directorio donde se encuentra el executable que tu proyecto ha compilado.

Saludos

Ya puse la carpeta "imagenes" en ...\Bin\Debug y me funciona con cualquiera de estos codigos:

Segun ivancea96:


Código
  1. private void Frm_CargarImagenEnBoton_001_Load(object sender, EventArgs e)
  2. {
  3.  Btn_Carga.BackgroundImage = Image.FromFile(@"imagenes/pares/Imagen_001.png");
  4. }

Segun DarK_FirefoX:

Código
  1. using System.IO;
  2.  
  3.  
  4. private void Frm_CargarImagenEnBoton_001_Load(object sender, EventArgs e)
  5. {
  6.  FileStream file = new FileStream(@"imagenes/pares/Imagen_001.png", FileMode.Open);
  7.  Image toLoad = Image.FromStream(file);
  8.  Btn_Carga.Image = toLoad;
  9. }


Aqui esta el proyecto: https://www.dropbox.com/s/y6kss7wy2vhrr9r/C_Sharp_2013%28Forms%29-CargarImagenEnBoton_001.rar?dl=0

Ahora mi consulta es ¿Cual es la diferencia entre estos dos formas y en que caso se usa uno u otro?

Gracias


 
;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
« Última modificación: 9 Abril 2015, 23:51 pm por elg.system.32 » En línea

Lo que no te mata, te hace mas fuerte
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
botones con diferentes funciones en un form
PHP
PepiX 2 2,905 Último mensaje 1 Diciembre 2006, 14:54 pm
por PepiX
Un form, 2 botones, y 2 operaciones diferentes
PHP
Zeroql 2 9,952 Último mensaje 14 Junio 2011, 18:01 pm
por Devilboy.Devil
Ayuda con este codigo. Cargar pagina en div mediante ajax.
Desarrollo Web
70N1 0 2,285 Último mensaje 28 Junio 2013, 16:01 pm
por 70N1
cargar form de imagen con ajax
Desarrollo Web
kakashi20 2 1,965 Último mensaje 9 Octubre 2014, 04:44 am
por JorgeEMX
MOVIDO: Cargar Imagen en botones mediante codigo en C# (Windows Form)
Programación General
Eleкtro 0 1,839 Último mensaje 9 Abril 2015, 21:49 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines