سؤال

يجب أن أحمل أشكال الطفل في المنشئ أو تحميل ()؟

لدي بعض التعليمات البرمجية التي تدعو فئة مخصصة تضم نموذجا في عنصر تحكم. لقد أعلن أصلا أن أشكل طفلي خارج المنشئ ثم استدعاء روتين في formpaint () في الحمولة () ثم تحميل النماذج مثل ذلك:

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();
}

لقد أظهرت الآن طريقة أفضل بكثير لتضمين النماذج في عناصر التحكم في الحاويات، حيث إنها تتعلق بفئة مخصصة، هنا.

سؤالي هو المكان الذي يجب أن أقوم بتحميله كمثال يتم تحميلها في المنشئ الذي يعلن عنها في نفس الوقت، مثل ذلك:

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

وهذا هو، من الواضح، أقل رمز بكثير. من خلال التحميل في المنشئ سوف أستخدم المزيد من الموارد غير الضرورية؟ هل سأكون كسب أي شيء؟ كيف اتخاذ قرار؟

هل كانت مفيدة؟

المحلول

سؤال مثير للاهتمام MR_MOM. ستكون توصيتي استخدام منشئيك للقيام الإعداد المطلوب فقط للنماذج الفرعية وإيقاف تحميل النماذج الفرعية حتى يقوم "تكوين" ().

أما بالنسبة للموارد والمكاسب والخمسة ... لا أعرف.

نصائح أخرى

أفضل استخدام منشئ النموذج. أعني إعداد كل شيء قبل سيتم عرض نموذج، وليس بعد.

تقليل التعقيد الخارجي سيزيد من قابلية القراءة ويجب أن تقلل من الأخطاء المحتملة.

على الظل، أبدا rethrow استثناء باستخدام رمي السابقين؛ سوف إعادة تعيين مكدس المكالمات. مجرد استخدام رمي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top