Foros del Web » Programación para mayores de 30 ;) » .NET »

Ventana o form unico

Estas en el tema de Ventana o form unico en el foro de .NET en Foros del Web. Hola, estoy armando un aplicacion donde tengo una lista de clientes y cuando ingreso a un cliente que tengo en la lista se abre un ...
  #1 (permalink)  
Antiguo 20/07/2012, 07:51
Avatar de eldjmix  
Fecha de Ingreso: enero-2007
Ubicación: Puerto Madryn, Argentina
Mensajes: 73
Antigüedad: 17 años, 10 meses
Puntos: 0
Ventana o form unico

Hola,
estoy armando un aplicacion donde tengo una lista de clientes y cuando ingreso a un cliente que tengo en la lista se abre un win form por ese cliente...

Código C:
Ver original
  1. private void lstClientes_DoubleClick(object sender, EventArgs e)
  2. {
  3. var verClienteForm = new frmVerCliente(cliente);
  4. verClienteForm.MdiParent = this;
  5. verClienteForm.Show();
  6. verClienteForm.BringToFront();
  7. }

ahora tengo un problema por cuando abro un cliente y vuelvo a abrir el mismo se abren 2 ventanas con el mismo cliente...
alguien me podría dar una mano para hacer que solo se abra una única vez...
  #2 (permalink)  
Antiguo 20/07/2012, 08:59
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: Ventana o form unico

Buenas,

Una posibilidad es usar un dictionary para guardar los formularios abiertos.


Código C#:
Ver original
  1. public class FormGeneral .... {
  2.  
  3. Dictionary<Cliente,Form> formulariosClientes = new Dictionary<Cliente,Form>();
  4.  
  5. private void lstClientes_DoubleClick(object sender, EventArgs e)
  6. {
  7.  
  8. if (!formulariosClientes.ContainsKey(cliente)){
  9.  
  10. var verClienteForm = new frmVerCliente(cliente);
  11. formulariosClientes.Add(cliente,verClienteForm);
  12. verClienteForm.MdiParent = this;
  13. verClienteForm.Show();
  14. verClienteForm.BringToFront();
  15. }
  16. else{
  17.  
  18. formulariosClientes[cliente].BringToFront();
  19.  
  20. }
  21.  
  22. }
  23.  
  24. }

Y cuando cierres el formulario, tendrías que borrar el formulario del dictionary con el método Remove.

Saludos.
  #3 (permalink)  
Antiguo 20/07/2012, 09:32
Avatar de eldjmix  
Fecha de Ingreso: enero-2007
Ubicación: Puerto Madryn, Argentina
Mensajes: 73
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Ventana o form unico

Si alguien le interesa llegue a esta publicación muy interesante
http://www.ittraining.com.ar/post/Un...-Winforms.aspx

saludos
  #4 (permalink)  
Antiguo 20/07/2012, 09:33
Avatar de eldjmix  
Fecha de Ingreso: enero-2007
Ubicación: Puerto Madryn, Argentina
Mensajes: 73
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Ventana o form unico

gracias alexg88
  #5 (permalink)  
Antiguo 20/07/2012, 10:00
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: Ventana o form unico

¿Te ha servido la solución del enlace que has puesto?

Por lo que he visto sirve para no poder abrir dos instancias del mismo tipo de Form y no creo que sea lo que tú necesitas, aunque me gustaría saberlo por si acaso.

Saludos.
  #6 (permalink)  
Antiguo 23/07/2012, 06:39
Avatar de eldjmix  
Fecha de Ingreso: enero-2007
Ubicación: Puerto Madryn, Argentina
Mensajes: 73
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Ventana o form unico

No era exactamente lo que buscaba pero me sirvió para darme una idea de como hacerlo.
Gracias...

Etiquetas: winform, winforms, ventanas, unicos, formulario, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:17.