Procédure pas à pas : démonstration de l'héritage visuel

L'héritage visuel vous permet de voir les contrôles présents sur le formulaire de base et d'y ajouter de nouveaux contrôles. Dans cette procédure, vous créerez un formulaire de base et compilerez celui-ci dans une bibliothèque de classes. Vous importerez cette bibliothèque de classes dans un autre projet, puis créerez un nouveau formulaire qui héritera du formulaire de base. Au cours de cette procédure pas à pas, vous apprendrez à :

  • créer un projet Bibliothèque de classes contenant un formulaire de base ;

  • ajouter un bouton avec des propriétés pouvant être modifiées par les classes dérivées du formulaire de base ;

  • ajouter un bouton qui ne peut pas être modifié par des héritiers du formulaire de base ;

  • créer un projet contenant un formulaire qui hérite de BaseForm.

Pour finir, cette procédure pas à pas indiquera la différence entre les contrôles privés et les contrôles protégés dans un formulaire hérité.

Notes

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Utilisation des paramètres.

Avertissement

Tous les contrôles ne prennent pas en charge l'héritage visuel à partir d'un formulaire de base. Les contrôles suivants ne prennent pas en charge le scénario décrit dans cette procédure pas à pas :

    WebBrowser

    ToolStrip

    ToolStripPanel

    TableLayoutPanel

    FlowLayoutPanel

    DataGridView

Ces contrôles dans le formulaire hérité sont toujours en lecture seule, quels que soient les modificateurs que vous utilisez (private, protected ou public).

Étapes du scénario

La première étape consiste à créer le formulaire de base.

Pour créer un projet Bibliothèque de classes contenant un formulaire de base

  1. Dans le menu Fichier, choisissez Nouveau, puis Projet pour ouvrir la boîte de dialogue Nouveau projet.

  2. Créez une application Windows Forms nommée BaseFormLibrary. Pour plus d'informations, consultez Comment : créer un projet d'Application Windows Forms.

  3. Pour créer une bibliothèque de classes au lieu d'une application Windows Forms standard, cliquez avec le bouton droit sur le nœud du projet BaseFormLibrary dans l'Explorateur de solutions, puis sélectionnez Propriétés.

  4. Dans les propriétés du projet, modifiez le Type de sortie : passez le d'Application Windows à Bibliothèque de classes.

  5. Dans le menu Fichier, choisissez Enregistrer tout pour enregistrer le projet et les fichiers dans l'emplacement par défaut.

Les deux procédures suivantes ajoutent des boutons au formulaire de base. Pour démontrer l'héritage visuel, vous donnerez aux boutons différents niveaux d'accès en définissant leurs propriétés Modifiers.

Pour ajouter un bouton pouvant être modifié par les héritiers du formulaire de base

  1. Ouvrez Form1 dans le concepteur.

  2. Sous l'onglet Tous les Windows Forms de la Boîte à outils, double-cliquez sur Bouton pour ajouter un bouton au formulaire. Utilisez la souris pour positionner et redimensionner le bouton.

  3. Dans la fenêtre Propriétés, définissez les propriétés suivantes pour le bouton :

    • Attribuez à la propriété Text la valeur Say Hello.

    • Attribuez à la propriété (Name) la valeur btnProtected.

    • Attribuez à la propriété Modifiers la valeur Protected. Cela permet aux formulaires qui héritent de Form1 de modifier les propriétés de btnProtected.

  4. Double-cliquez sur le bouton Say Hello pour ajouter un gestionnaire d'événements pour l'événement Click.

  5. Ajoutez la ligne de code suivante au gestionnaire d'événements :

    MessageBox.Show("Hello, World!")
    
    MessageBox.Show("Hello, World!");
    

Pour ajouter un bouton ne pouvant pas être modifié par des héritiers du formulaire de base

  1. Passez en mode Design en cliquant sur l'onglet Form1.vb [Design], Form1.cs [Design] ou Form1.jsl [Design] au-dessus de l'éditeur de code, ou en appuyant sur la touche F7.

  2. Ajoutez un deuxième bouton et définissez ses propriétés comme suit :

    • Attribuez à la propriété Text la valeur Say Goodbye.

    • Attribuez à la propriété (Name) la valeur btnPrivate.

    • Attribuez à la propriété Modifiers la valeur Private. Cela empêche les formulaires qui héritent de Form1 de modifier les propriétés de btnPrivate.

  3. Double-cliquez sur le bouton Say Goodbye pour ajouter un gestionnaire d'événements pour l'événement Click. Placez la ligne de code suivante dans la procédure événementielle :

    MessageBox.Show("Goodbye!")
    
    MessageBox.Show("Goodbye!");
    
  4. Dans le menu Générer, choisissez Générer BaseFormLibrary pour générer la bibliothèque de classes.

    Une fois la bibliothèque générée, vous pouvez créer un nouveau projet qui hérite du formulaire que vous venez de créer.

Pour créer un projet contenant un formulaire qui hérite du formulaire de base

  1. Dans le menu Fichier, choisissez Ajouter, puis Nouveau projet pour ouvrir la boîte de dialogue Ajouter un nouveau projet.

  2. Créez une application Windows Forms nommée InheritanceTest. Pour plus d'informations, consultez Comment : créer un projet d'Application Windows Forms.

Pour ajouter un formulaire hérité

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet InheritanceTest, sélectionnez Ajouter, puis Nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez la catégorie Windows Forms (si vous disposez d'une liste de catégories), puis sélectionnez le modèle Formulaire hérité.

  3. Conservez le nom par défaut, Form2, et cliquez sur Ajouter.

  4. Dans la boîte de dialogue Sélecteur d'héritage, sélectionnez Form1 à partir du projet BaseFormLibrary comme le formulaire dont vous voulez hériter, puis cliquez sur OK.

    Un formulaire est créé dans le projet InheritanceTest qui dérive du formulaire dans BaseFormLibrary.

  5. Ouvrez le formulaire hérité (Form2) dans le concepteur en double-cliquant sur celui-ci, s'il n'est pas déjà ouvert.

    Dans le concepteur, les boutons hérités possèdent un symbole (Capture d'écran VisualBasicInheritanceSymbol) dans le coin supérieur, indiquant qu'ils sont hérités.

  6. Sélectionnez le bouton Say Hello et observez les poignées de redimensionnement. Ce bouton étant protégé, les héritiers peuvent le déplacer, le redimensionner, changer sa légende et apporter d'autres modifications.

  7. Sélectionnez le bouton Say Goodbye privé et notez qu'il ne possède pas de poignées de redimensionnement. De plus, dans la fenêtre Propriétés, les propriétés de ce bouton sont estompées pour indiquer qu'elles ne peuvent pas être modifiées.

  8. Si vous utilisez Visual C# :

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Form1 dans le projet InheritanceTest, puis choisissez Supprimer. Dans le message qui apparaît, cliquez sur OK pour confirmer la suppression.

    2. Ouvrez le fichier Program.cs et remplacez la ligne Application.Run(new Form1()); par Application.Run(new Form2());.

  9. Cliquez avec le bouton droit sur le projet InheritanceTest dans l'Explorateur de solutions, puis sélectionnez Définir comme projet de démarrage.

  10. Cliquez avec le bouton droit sur le projet InheritanceTest dans l'Explorateur de solutions, puis sélectionnez Propriétés.

  11. Dans les pages de propriétés d'InheritanceTest, définissez l'Objet de démarrage de façon à ce qu'il soit le formulaire hérité (Form2).

  12. Appuyez sur F5 pour exécuter l'application et observez le comportement du formulaire hérité.

Étapes suivantes

L'héritage pour les contrôles utilisateur fonctionne de manière très similaire. Ouvrez un nouveau projet Bibliothèque de classes et ajoutez un contrôle utilisateur. Placez des contrôles constituants sur celui-ci et compilez le projet. Ouvrez un autre nouveau projet Bibliothèque de classes et ajoutez une référence à la bibliothèque de classes compilée. Essayez également d'ajouter un contrôle hérité au projet (par l'intermédiaire de la boîte de dialogue Ajouter un nouvel élément) et d'utiliser le Sélecteur d'héritage. Ajoutez un contrôle utilisateur et modifiez l'instruction Inherits (: dans Visual C#). Pour plus d'informations, consultez Comment : hériter des Windows Forms.

Voir aussi

Tâches

Comment : hériter des Windows Forms

Référence

Sélecteur d'héritage, boîte de dialogue

Procédures pas à pas relatives aux Windows Forms

Autres ressources

Héritage visuel des Windows Forms

Windows Forms

Historique des modifications

Date

Historique

Motif

Septembre 2010

Étape corrigée.

Commentaires client.