Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des informations sur l’utilisation d’un objet UserControl en tant que conteneur de contrôle au moment du design après l’ajout de l’objet UserControl à un Windows Form.
Version du produit d’origine : Visual C#
Numéro de la base de connaissances d’origine : 813450
Résumé
Cet article fait référence à l’espace de noms System.ComponentModel
de la bibliothèque de classes Microsoft .NET Framework.
Cet article pas à pas explique comment faire agir un objet UserControl en tant que conteneur de contrôle au moment du design après avoir placé UserControl sur un Windows Form. Il peut arriver que vous souhaitiez faire glisser un contrôle vers votre UserControl. Pour ce faire, UserControl doit agir en tant que conteneur de contrôle.
Par défaut, un objet UserControl peut agir en tant que conteneur de contrôle uniquement lorsque vous créez le contrôle. Pour qu’un UtilisateurControl héberge un contrôle constituant après avoir placé UserControl sur un Windows Form, vous devez modifier le concepteur par défaut de UserControl. Pour implémenter des services au moment du design pour un composant, utilisez la DesignerAttribute
classe de l’espace System.ComponentModel
de noms. Vient DesignerAttribute
avant la déclaration de classe. Initialisez le DesignerAttribute
en transmettant les designerTypeName
paramètres et les designerBaseType
paramètres.
designerTypeName
est le nom complet du type de concepteur qui fournit des services au moment du design. Passez la combinaison du System.Windows.Forms.Design.ParentControlDesigner
paramètre et du System.Design
designerTypeName
paramètre. La ParentControlDesigner
classe étend le comportement au moment du design pour un UserControl.
designerBaseType
est le nom de la classe de base pour le concepteur. La classe utilisée pour les services au moment du design doit implémenter l’interface IDesigner.
Créer UserControl en tant que conteneur de contrôle au moment du design
Créez un projet de bibliothèque de contrôle Windows Visual C#. Pour ce faire, procédez comme suit :
- Démarrez Visual Studio.
- Dans le menu Fichier , pointez sur Nouveau, puis cliquez sur Projet.
- Sous Types de projets, cliquez sur Visual C#, puis sur Bibliothèque de contrôles Windows Forms sous Modèles.
Nommez le projet ContainerUserControl. Par défaut, UserControl1.cs est créé.
Dans Explorateur de solutions, cliquez avec le bouton droit sur UserControl1.cs, puis cliquez sur Afficher le code.
Ajoutez le code suivant à la section déclarations :
using System.ComponentModel.Design;
Appliquez l’attribut
System.ComponentModel.DesignerAttribute
au contrôle comme suit :[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] public class UserControl1 : System.Windows.Forms.UserControl { ... }
Dans le menu Générer, cliquez sur Générer la solution.
Tester UserControl
Créez un projet Visual C#. Pour ce faire, procédez comme suit :
- Démarrez Visual Studio.
- Dans le menu Fichier , pointez sur Nouveau, puis cliquez sur Projet.
- Sous Types de projets, cliquez sur Visual C#, puis sur Application Windows Forms sous Modèles. Par défaut, Form1.cs est créé.
Ajoutez le contrôle UserControl1 à la boîte à outils.
- Dans le menu Outils , cliquez sur Choisir des éléments de boîte à outils.
- Sous l’onglet Composants .NET Framework, cliquez sur Parcourir.
- Dans la zone Ouvrir un fichier , recherchez la DLL générée lors de la création du contrôle UserControl.
Faites glisser UserControl1 de la boîte à outils (sous Windows Forms) vers Form1.cs.
Faites glisser un contrôle Button de la boîte à outils vers UserControl1.
Note
UserControl1 se comporte comme conteneur de contrôle pour le contrôle Button.
References
Pour plus d’informations, consultez le site Web Microsoft : ParentControlDesigner, classe.