用户控制与Windows窗体

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

简单地说:

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

Windows窗体是控件的容器,包括用户控件。 虽然它包含许多与用户控件相似的属性,但主要目的是托pipe控件。

他们有很多共同点,他们都来自ContainerControl。 然而UserControl被devise成一个子窗口,它需要被放置在一个容器中。 表格被devise成没有父母的顶级窗口。

实际上,通过将其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); } } 

窗体窗体是用户控件的容器。

最大的区别是form.show给出了一个不同的窗口,而usercontrol没有像没有父母popup的function。 在像Scrollablecontrol派生的beind这样的控件中,剩下的东西都是一样的。