67 votes

Contrôle utilisateur et formulaire Windows

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

63voto

Bill Martin Points 2187

Dit très simplement:

Les contrôles utilisateur permettent 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 constituent le conteneur pour les contrôles, y compris les contrôles utilisateur. Bien qu'il contienne de nombreux attributs similaires en tant que contrôle utilisateur, son objectif principal est d'héberger des contrôles.

29voto

Hans Passant Points 475940

Ils ont 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 une 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);
    }
}
 

4voto

Ikke Points 31517

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

2voto

sunnytyra Points 29

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X