在面板中显示用户控件

Showing user control in panel

我正在尝试在 windows 窗体的面板中使用 UserControl。但是没有显示出来。

形式的方法:

public void SetContent(UserControl control) {
        contentPanel.Controls.Clear();
        control.Dock = DockStyle.Fill;
        contentPanel.Controls.Add(control);
        control.Show();
        contentPanel.Show();
        control.Refresh();
        contentPanel.Refresh();
        Refresh();
}

初始化

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();  
    Application.SetCompatibleTextRenderingDefault(false);
    MyForm form;
    Application.Run(form=new MyForm());
    form.SetContent(new MyControl());
}

如果想在windows窗体的面板中使用UserControl,可以参考以下代码:

private void Form1_Load(object sender, EventArgs e)
    {
        var myControl = new UserControl1();
        contentPanel.Controls.Add(myControl);
    }