用户控制与Windows窗体

Arl*_*ler 54 c# visual-studio winforms

Visual Studio中的用户控件和Windows窗体有什么区别 - C#?

Bil*_*tin 51

简单地说:

用户控件是一种制作自定义,可重用组件的方法.用户控件可以包含其他控件,但必须由表单托管.

Windows窗体是控件的容器,包括用户控件.虽然它包含许多与用户控件类似的属性,但它的主要用途是托管控件.

  • 用户控件能否承载(包含)其他用户控件? (2认同)
  • @RobertNiestroj 是的,他们可以。 (2认同)

Han*_*ant 21

它们有很多共同之处,它们都来自ContainerControl.然而,UserControl被设计为子窗口,它需要放在容器中.表单被设计为没有父级的顶级窗口.

实际上,您可以通过将Form的TopLevel属性设置为false来将Form转换为子窗口:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        var child = new Form2();
        child.TopLevel = false;
        child.Location = new Point(10, 5);
        child.Size = new Size(100, 100);
        child.BackColor = Color.Yellow;
        child.FormBorderStyle = FormBorderStyle.None;
        child.Visible = true;
        this.Controls.Add(child);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 但你真的应该避免这样做,IMO.:) (4认同)