Pregunta

¿Debo cargar formularios secundarios en el constructor o el FormLoad ()?

Tengo algo de código que se llama una clase personalizada que incorpora un formulario en un control. Había sido originalmente declarar mis formularios secundarios fuera del Constructor y luego llamar a una rutina FormPaint () en el FormLoad () para luego cargar los formularios de esta manera:

internal frmWWCMCPHost frmWWCMCPHost = new frmWWCMCPHost();
internal frmWWCEnrollmentHost frmWWCEnrollmentHost = new frmWWCEnrollmentHost();
internal frmWWCMemberHost frmWWCMemberHost = new frmWWCMemberHost();

public frmWWCModuleHost()
{
    InitializeComponent();        
}

private void frmWWCModuleHost_Load(object sender, EventArgs e)
{
    FormPaint();
}

public void FormPaint()
{
    WinFormCustomHandling.ShowFormInControl(frmWWCMCPHost, ref tpgMCP, FormBorderStyle.FixedToolWindow,-4,-2);
    WinFormCustomHandling.ShowFormInControl(frmWWCMemberHost, ref tpgMember, FormBorderStyle.FixedToolWindow, -4, -2);
    WinFormCustomHandling.ShowFormInControl(frmWWCEnrollmentHost, ref tpgEnrollment, FormBorderStyle.FixedToolWindow, -4, -2);

    // Call each top-Level (visible) tabpage's form FormPaint()
    frmWWCMCPHost.FormPaint();
}

Ahora me ha mostrado una forma mucho mejor de incorporar formas en controles contenedores, en lo que respecta a mi clase personalizada, aquí .

Mi pregunta es dónde debería estar cargando estos como el ejemplo que ha de ser cargado en el constructor de ellos declarando al mismo tiempo, de esta manera:

public frmWWCModuleHost()
{
    InitializeComponent();
    WinFormCustomHandling.ShowFormInContainerControl(tpgCaseNotes, new XfrmTest());
}

¿Qué es, obviamente, mucho menos código. Al cargar en el constructor voy a utilizar muchos más recursos innecesarios? ¿Voy a estar ganando algo? ¿Cómo decidir?

¿Fue útil?

Solución

Interesante pregunta Mr_Mom. Mi recomendación sería utilizar sus constructores que ver solamente la configuración necesaria para las formas secundarias y poner fuera de la carga de las formas hasta que el sub FormLoad parent ().

En cuanto a los recursos, las ganancias, y losts ... No sé.

Otros consejos

Yo prefiero usar el constructor del formulario. Me refiero a todo configurado antes de una forma sería mostrado, no después.

La reducción de la complejidad externa aumentará la legibilidad y debería reducir posibles errores.

En la tangente, nunca jamás volver a lanzar una excepción usando tiro ex; Se va a restablecer la pila de llamadas. Sólo tiene que utilizar tiro;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top