Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2015, 10:00
X_fran
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 7 meses
Puntos: 5
Mejorar performance de la UI en WinForm

Hola, necesito me orienten sobre cómo puedo mejorar el performance de la UI de una aplicacion Winform (visual c#). La cuestión es la siguiente:

Tengo un formulario principal: y el mismo contiene un ToolStripContainer en el que se muestra un MenuStrip y un StatusStrip, y en el ContentPanel del ToolStripContainer es donde muestro los diferentes modulos de la aplicacion en dependencia del escogido en el menu principal.

Los modulos estan diseñado a manera de UserControl, de forma que cada uno encierra la lógica de carga de datos del modulo y sus propias barras de herramientas y barras de estado (prpias del modulo).

La situación es que muchas veces al cargar alguno de estos modulos, como que se muestrar por parte, hasta que no se carguen los datos de la BD, etc...

Otra situación es la siguiente:

La aplicacion muestra reportes en dependencia de las fechas seleccionadas en un formulario, el mismo tiene un evento que es el que envia las fechas y una vez disparado mando a cerrar el formulario, pero evidentemente, hasta que no se muestra el reporte (en caso que la carga de los datos desde la base de datos se haga lenta) no se cierra el formulario de fechas.

es mas o menos así:

Código:
// Desde el formularioPricipal:
FormFechas frm=new FormFechas();
frm.NotificarFechasSeleccionadasEvent+= ...... suscribirAlEvento(MostrarReporteFechas);
frm.ShowDialog(this);

private void MostrarReporteFechas(DateTime fechaI, DateTime fechaF)
{
     // Crear dataSet tipado
     // crear ReportDocument
    // asignar dataset al report docuemtn.

   // crear instancia dle formualrio que ocntiene el visor de reportes asignandolo el reportDocument
 // mostrar el reporte
}

}
Ahora bien el el evento clic de un boton del formualrio de fechas llamo al evento
NotificarFechasSeleccionadasEvent y despues al metodo Close() del formulario.

Es por ello, que aunque se llame al evento en el Clic del boton, hasta que no se muestre el reporte, no se llamara al mentod Close() del formulario de fechas.
Cómo mejorar este comportamiento??