Visual Studio中的用户控件和Windows窗体之间有什么区别 - C#?
答案 0 :(得分:49)
非常简单地说:
用户控件是一种制作自定义,可重用组件的方法。用户控件可以包含其他控件,但必须由表单托管。
Windows窗体是控件的容器,包括用户控件。虽然它包含许多与用户控件类似的属性,但它的主要目的是托管控件。
答案 1 :(得分:20)
他们共有一个 lot ,它们都来自ContainerControl。然而,UserControl被设计为子窗口,它需要放在容器中。表单被设计为没有父级的顶级窗口。
您可以通过将其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);
}
}
答案 2 :(得分:4)
Windows窗体是用户控件的容器。
答案 3 :(得分:1)
最大的区别是form.show提供了一个不同的窗口,而usercontrol没有像没有父节点弹出的功能。其他控件在两个控件中都是相同的,例如从Scrollablecontrol派生的beind。