Contrôle utilisateur vs formulaire Windows

Quelle est la différence entre un contrôle utilisateur et un formulaire windows dans Visual Studio, C#?

47
demandé sur Arlen Beiler 2010-02-19 23:29:52

4 réponses

Mettez très simplement:

Les contrôles utilisateur sont un moyen de créer un composant personnalisé et réutilisable. Un contrôle utilisateur peut contenir d'autres contrôles, mais doit être hébergé par un formulaire.

Les formulaires Windows sont le conteneur des contrôles, y compris les contrôles utilisateur. Bien qu'il contienne de nombreux attributs similaires à ceux d'un contrôle utilisateur, son objectif principal est d'héberger des contrôles.

48
répondu Bill Martin 2010-02-19 21:20:43

Ils ont un beaucoup en commun, ils sont tous deux dérivés de ContainerControl. UserControl est cependant conçu pour être une fenêtre enfant, il doit être placé dans un conteneur. Le formulaire a été conçu pour être une fenêtre de niveau supérieur sans parent.

Vous pouvez réellement transformer un formulaire en fenêtre enfant en définissant sa propriété TopLevel sur false:

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);
    }
}
18
répondu Hans Passant 2010-02-19 20:39:36

Un formulaire windows est un conteneur pour les contrôles utilisateur.

4
répondu Ikke 2010-02-19 20:32:14

La plus grande différence est la forme.show donne une fenêtre différente alors que usercontrol n'a pas de fonctionnalité comme apparaître sans parent. Les choses Rest sont les mêmes dans les deux contrôles comme beind dérivé de Scrollablecontrol.

1
répondu sunnytyra 2013-12-17 14:13:57