Contrôle utilisateur vs formulaire Windows
Quelle est la différence entre un contrôle utilisateur et un formulaire windows dans Visual Studio, C#?
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.
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);
}
}
Un formulaire windows est un conteneur pour les contrôles utilisateur.
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.