控件中的嵌入式窗体或用户控件的窗体

Ref*_*din 5 .net c# user-controls winforms

好吧,我有一个大型CRUD应用程序,使用带有嵌入在其中的表单的选项卡,如此 - >

public static void ShowFormInContainerControl(Control ctl, Form frm)
    {
        frm.TopLevel = false;
        frm.FormBorderStyle = FormBorderStyle.None;
        frm.Dock = DockStyle.Fill;
        frm.Visible = true;
        ctl.Controls.Add(frm);
    }
Run Code Online (Sandbox Code Playgroud)

然后我在父表单的表单加载事件中调用以下 - >

 // Embedd the child form in the this Parent
        WinFormCustomHandling.ShowFormInContainerControl(pnlModuleHost, _frmWWCModuleHost);
Run Code Online (Sandbox Code Playgroud)

这是我在这里回答我之前提出的问题.

随着我的进步,我不断得到这样一种感觉,即多层嵌入式表格是等待发生的灾难,用户控件不断弹出.有人能为我提供一些关于使用用户控件和嵌入表单的具体建议吗?

请参阅我之前的问题,了解这个问题的灵感.这里

此外,还可以在此处找到我当前嵌入的表单布局在行动中的屏幕截图.

谢谢

Hat*_*ath 2

我会使用 UserControl,它认为那里更简单,您可以看到设计器中发生了什么(如果您愿意),如果您只是将其用作容器中的视图,则 Form 有一堆您永远不需要的东西。

将此与您的方法进行比较:

public static void DockControl(this Control control, UserControl userControl)
            {
                userControl.Dock = DockStyle.Fill;
                control.Controls.Clear();
                control.Controls.Add(userControl);
            }
Run Code Online (Sandbox Code Playgroud)