在Visual Studio - C#中,用户控件和窗体有什么区别?
简单来说:
用户控件是制作自定义可重用组件的一种方式。用户控件可以包含其他控件,但必须由窗体托管。
Windows 窗体是控件的容器,包括用户控件。虽然它有许多类似于用户控件的属性,但其主要目的是托管控件。
它们有很多共同点,它们都来源于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);
}
}