• Martes 21 de Mayo de 2024, 00:57

Autor Tema:  Formularios Misma Posicion. Que os parece?  (Leído 794 veces)

totorufo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Formularios Misma Posicion. Que os parece?
« en: Jueves 12 de Noviembre de 2009, 15:46 »
0
Hola!

Tengo un problemilla de diseños, y haber que os parece lo hecho hasta ahora.

El problema es que tengo dos aplicaciones completamente distintas, pero las dos se llaman mutuamente (una cierra la otra y viceversa)
Pero quiero que el usuario "no se de cuenta" de que pasa de una a otra. Y no puedo utilizar MDI para agrupar las dos,
porque seguramente una de ellas lo sera.

Ejemplo : Form2(hace de puente entre una y otra), Form3, y Form4

1. Me gustaria saber que os parece el sistema utilizado o si existe alguna manera mejor de hacerlo, en el Main, contenedor...

Código: C#
  1.  
  2. public partial class Form2 : Form
  3.     {
  4.         public Form2()
  5.         {
  6.             InitializeComponent();
  7.         }
  8.  
  9.         private void Form2_Load(object sender, EventArgs e)
  10.         {
  11.             Form3 r1 = new Form3();
  12.             r1.FormClosing += new FormClosingEventHandler(SeCierra3);
  13.             r1.Show();
  14.         }
  15.  
  16.         private void SeCierra3(object sender, EventArgs e)
  17.         {
  18.             Form4 r1 = new Form4();
  19.             r1.FormClosing += new FormClosingEventHandler(SeCierra4);
  20.             r1.Size = ((Form)sender).Size;
  21.             r1.Location = ((Form)sender).Location;
  22.             r1.Show();
  23.            
  24.         }
  25.         private void SeCierra4(object sender, EventArgs e)
  26.         {
  27.             Form3 r1 = new Form3();
  28.             r1.FormClosing += new FormClosingEventHandler(SeCierra3);
  29.             r1.Size = ((Form)sender).Size;
  30.             r1.Location = ((Form)sender).Location;
  31.             r1.Show();
  32.         }
  33.  
  34.         private void Form2_Shown(object sender, EventArgs e)
  35.         {
  36.             this.Visible = false;
  37.         }
  38.     }
  39.  
  40.  

2. Si esta es la buena forma: Tengo problemas para posicionar los formularios en su posicion

Con size funciona bien, las dos tienen la misma anchura y altura, pero la posicion no.

Código: C#
  1.  
  2. r1.Size = ((Form)sender).Size;
  3. r1.Location = ((Form)sender).Location;
  4. r1.Show();
  5.  
  6.  

Eso sí, si pongo:

Código: C#
  1.  
  2. r1.Size = ((Form)sender).Size;
  3. r1.Show();
  4. r1.Location = ((Form)sender).Location;
  5.  
  6.  

Funciona, pero hace parpadeo (se posiciona en una poscion X, y luego en la que debe)
El Show() restablece la posición?

3. Muchas gracias