用户控制与Windows窗体

时间:2010-02-19 20:29:53

标签: c# visual-studio winforms

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

4 个答案:

答案 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。