08/09/2010, 22:33
|
| | Fecha de Ingreso: febrero-2010
Mensajes: 35
Antigüedad: 14 años, 8 meses Puntos: 1 | |
Respuesta: Lentitud en el repintado de un Form Hijo (MDI) bueno, antes que nada gracias por tu contestacion y por tus ideas, lamentablemente no entiendo muy bien la siguiente parte:
ctype(me.MdiParent,mdi).frm=nothing
dices q la ponga en el metodo closing del Form hijo, pero la variable mdi que representa, ahora el cast lo haces para convertirlo a Form y la variable frm se supone q es la instancia q usaste para mostrar el mdi hijo?, pero como puedo compartir esa variable si estan en clases diferentes?
mira yo lo hago en c# y lo hago de la siguiente manera:
cuando quiero abrir un form hijo, primero checo que haya forms activos, de ser asi los cierro y despues muestro el form hijo:
private void MostrarFrameEmpleados()
{
CerrarFormulario();
Form_Empleados frmEmpleados = new Form_Empleados();
frmEmpleados.MdiParent = this;
frmEmpleados.WindowState = FormWindowState.Maximized;
frmEmpleados.Show();
}
private void MostrarFrameProductos()
{
CerrarFormulario();
Form_Productos frmProductos = new Form_Productos();
frmProductos.MdiParent = this;
frmProductos.WindowState = FormWindowState.Maximized;
frmProductos.Show();
}
y este es el metodo para cerrar los formularios:
private void CerrarFormulario()
{
try
{
Form activo = new Form();
activo = this.ActiveMdiChild;
activo.Close();
}
catch (Exception) { }
}
sin embargo como comente, al hacerlo de esta manera y tener un form hijo activo y querer abrir otro, al momento de abrir el nuevo y realizar el repintado de los elementos del mismo, este tarda unos segundos y despues lo muestra, como podria optimizar esto?
de antemamo gracias |