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

Formulario arriba de otro

Estas en el tema de Formulario arriba de otro en el foro de .NET en Foros del Web. Hola, tengo dos forms, primero agrego el primero, luego el segundo, pero el segundo se agrega debajo del primero, me refiero a que no se ...
  #1 (permalink)  
Antiguo 14/11/2011, 11:21
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Formulario arriba de otro

Hola, tengo dos forms, primero agrego el primero, luego el segundo, pero el segundo se agrega debajo del primero, me refiero a que no se superpone como debiera ser.

¿Como agrego el segundo form arriba del primero?

Código C:
Ver original
  1. private void addForm1(object sende, EventArgs e)
  2. {
  3.         formCliente form = new formCliente();
  4.         form.TopLevel = false;
  5.         form.Parent = contendorForm;
  6.         form.Show();
  7. }
  8.  
  9. private void addForm2(object sende, EventArgs e)
  10. {
  11.         formProducto form = new formProducto();
  12.         form.TopLevel = false;
  13.         form.Parent = contendorForm;
  14.         form.Show();
  15. }

Estoy en c# .NET visual estudio 2011

saludos..
  #2 (permalink)  
Antiguo 14/11/2011, 22:40
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Formulario arriba de otro

Hola ya probastes colocando la propiedad TopMost en true.

Otra cosa, si necesitas que el formulario se quede con el foco y no te permita abrir las otras ventana hasta que termines de trabajar en el cargalo con ShowDialog en vez del Show.
  #3 (permalink)  
Antiguo 14/11/2011, 23:10
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Formulario arriba de otro

Cita:
Iniciado por ramirezmario7 Ver Mensaje
Hola ya probastes colocando la propiedad TopMost en true.

Otra cosa, si necesitas que el formulario se quede con el foco y no te permita abrir las otras ventana hasta que termines de trabajar en el cargalo con ShowDialog en vez del Show.
Hola, si intente con "TopMost" y nada....

saludos...
  #4 (permalink)  
Antiguo 15/11/2011, 11:08
Avatar de ldcd  
Fecha de Ingreso: enero-2010
Ubicación: Distrito Federal
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Formulario arriba de otro

Si utilizas el ShowDialog como dice mario, el segundo va a salir al frente pero no te va a dejar manipular el primero hasta que cierres el que esta arriba, ahora si mal no recuerdo y segun lo que veo los tienes en un mdi que se llama Contenedor form, por lo que la propiedada de topLevel deberia de ir true en el segundo form, ya que si le pones false dice q NO lo muestre como un formulario de nivel superior, prueba poniendola en true y nos cuentas q paso
  #5 (permalink)  
Antiguo 16/11/2011, 00:45
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Formulario arriba de otro

Cita:
Iniciado por ldcd Ver Mensaje
Si utilizas el ShowDialog como dice mario, el segundo va a salir al frente pero no te va a dejar manipular el primero hasta que cierres el que esta arriba, ahora si mal no recuerdo y segun lo que veo los tienes en un mdi que se llama Contenedor form, por lo que la propiedada de topLevel deberia de ir true en el segundo form, ya que si le pones false dice q NO lo muestre como un formulario de nivel superior, prueba poniendola en true y nos cuentas q paso

Hola, intente con TopLevel=true

Código C++:
Ver original
  1. formProducto form = new formProducto();
  2. form.TopLevel = true;
  3. form.Parent = contendorForm;
  4. form.Show();

Obtengo la siguiente excepción:
ArgumentException: Top-level control cannot be added to a control.


También intente con ShowDialog

Código C++:
Ver original
  1. formProducto form = new formProducto();
  2. form.TopLevel = false;
  3. form.Parent = contendorForm;
  4. form.ShowDialog();

Obtengo la siguiente excepción:
InvalidOperationException: Form that is not a top-level form cannot be displayed as a modal dialog box. Remove the form from any parent form before calling showDialog.

pero prefiero optar por la opción uno, creo que el problema esta en que el form se agregar a un panel, y lo necesito de esta forma.

saludos...
  #6 (permalink)  
Antiguo 16/11/2011, 00:59
Avatar de JxDarkAngel  
Fecha de Ingreso: septiembre-2009
Mensajes: 82
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Formulario arriba de otro

El ShowDialog no puede ser ocupado si el Segundo Formulario es ocupado como Form Hijo del Formulario Principal (Padre)

Al hacer esto:

3.form.Parent = contendorForm;

Estas dando a entender que el segundo Formulario lo quieres poner dentro del Formulario UNO
  #7 (permalink)  
Antiguo 16/11/2011, 01:33
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Formulario arriba de otro

Cita:
Iniciado por JxDarkAngel Ver Mensaje
El ShowDialog no puede ser ocupado si el Segundo Formulario es ocupado como Form Hijo del Formulario Principal (Padre)

Al hacer esto:

3.form.Parent = contendorForm;

Estas dando a entender que el segundo Formulario lo quieres poner dentro del Formulario UNO
Hola, ok, pero, yo necesito que mis formularios se agreguen como hijos en un panel, pero resulta que el segundo form aparece en segundo plano, y la única forma de traerlo al frente es haciendo un clic con el mouse sobre el. específicamente en la barra de arriba del form.

se me ocurre simular alguna especie de clic disparando algún evento sobre el segundo form cargado pero como??

saludos...
  #8 (permalink)  
Antiguo 16/11/2011, 01:56
Avatar de azimutisima  
Fecha de Ingreso: mayo-2011
Mensajes: 107
Antigüedad: 13 años
Puntos: 14
Respuesta: Formulario arriba de otro

No se muy bien la solucion, pero lo que tu quieres se puede hacer llamando al evento que quieras del form anterior con la forma

formAnt.Control_Click(sender,e)

desde el actual, eso si deberas cambiar el ambito del evento de Private a Public.
__________________
Si te gusto mi respuesta anímame a continuar dandome un voto.
  #9 (permalink)  
Antiguo 16/11/2011, 10:14
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Formulario arriba de otro

Cita:
Iniciado por azimutisima Ver Mensaje
No se muy bien la solucion, pero lo que tu quieres se puede hacer llamando al evento que quieras del form anterior con la forma

formAnt.Control_Click(sender,e)

desde el actual, eso si deberas cambiar el ambito del evento de Private a Public.
Hola, al final deje el formulario principal de la aplicación como MDI y todo funciona bien..

saludos...

Etiquetas: formulario, net, visual
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 19:54.