【问题标题】:Showing user control in panel在面板中显示用户控件
【发布时间】:2021-11-25 11:30:27
【问题描述】:

我正在尝试在窗体面板中使用 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());
}

【问题讨论】:

  • 您可以在 uo 中设置 BackColor 以使其显示得更好。代码看起来不错,但实际上并不需要 Add 之后的所有行,除非控件不可见..
  • 是的,那几行没用,反正用户控件是无敌的。
  • Application.Run(form=new MyForm()); 之后的代码不会运行。最好不要更改 programm.cs 文件中的任何内容,除非您确实需要。
  • 其实我是在Application.Run之后调用了SetContent,这个方法是在关闭表单之后才执行的。谢谢。

标签: c# .net visual-studio winforms user-controls


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2013-04-07
    • 2022-01-07
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多