Procédure pas - à - pas : Créer un contrôle de boîte à outils Windows Forms
Le modèle de contrôle de la boîte à outils Windows Forms qui est inclus dans Kit de développement logiciel Visual Studio 2010 vous permet de créer un contrôle qui est automatiquement ajouté à boîte à outilslorsque l'extension est installée. Cette procédure pas - à - pas montre comment utiliser le modèle pour créer un compteur contrôle que vous pouvez distribuer à d'autres utilisateurs.
Composants requis
Pour exécuter cette procédure, vous devez installer Kit de développement logiciel Visual Studio 2010.
Notes
Pour plus d'informations sur le kit de développement Visual Studio, consultez Étendre la présentation de Visual Studio.Pour savoir comment télécharger le kit de développement Visual Studio, consultez Visual Studio Extensibility Developer Center sur le site Web MSDN.
Rechercher le modèle de contrôle de la boîte à outils Windows Forms dans Visual Studio
Le modèle de contrôle de la boîte à outils Windows Forms est disponible dans la boîte de dialogue de Nouveau projet , sous Modèles installés, à ces emplacements :
Visual Basic, Extensibilité. Le langage du projet est en Visual Basic.
Visual C#, Extensibilité. Le langage du projet est c#.
Créer un projet de contrôle de la boîte à outils Windows Forms
Le modèle de contrôle de la boîte à outils Windows Forms crée un contrôle utilisateur non défini et fournit toutes les fonctionnalités requises pour ajouter le contrôle à boîte à outils.
Pour créer le projet
Dans le menu Fichier, cliquez sur Nouveau, puis sur Projet.
Dans la boîte de dialogue de Nouveau projet , sous Modèles installés, développez le nœud pour votre langage de programmation par défaut puis sélectionnez Extensibilité. Dans la liste des types de projets, sélectionnez Contrôle de la boîte à outils Windows Forms.
Dans la zone de Nom , tapez le nom que vous souhaitez utiliser pour le projet. (Cette procédure pas - à - pas utilise le nom compteur.) Cliquez sur OK.
Cela permet de créer une solution qui contient un contrôle utilisateur, un attribut pour placer le contrôle dans boîte à outils, et un manifeste VSIX pour le déploiement. La zone de Nom définit le nom de la solution et le nom de l'espace de noms, mais il ne définit pas le nom du contrôle tel qu'il apparaît dans boîte à outils. Vous définirez place plus loin dans cette procédure pas - à - pas.
Générer une interface utilisateur du contrôle
le contrôle de compteur requiert deux contrôles enfants : Label pour afficher le nombre actuel, et Button pour réinitialiser le nombre à 0. Aucun autre contrôles enfants n'est obligatoire parce que les appelants incrémente le compteur par programme.
Pour générer l'interface utilisateur
Dans Explorateur de solutions, double-cliquez sur ToolboxControl.cs pour l'ouvrir dans le concepteur.
de boîte à outils, faites glisser un contrôle de nom à l'aire de conception.
Redimensionnez le contrôle utilisateur à 150 x 50 pixels, puis redimensionnez le bouton à 50 x 20 pixels.
dans la fenêtre de Propriétés , définissez les valeurs suivantes pour les contrôles sur l'aire de conception.
Contrôle
Propriété
Valeur
Label1
Texte
""
Button1
Nom
btnReset
Button1
Texte
Rétablir
Ajouter du code au contrôle utilisateur
Le contrôle de compteur expose une méthode pour incrémenter le compteur, un événement qui sera déclenché chaque fois que le compteur est incrémenté, un bouton de Réinitialisation , et trois propriétés pour stocker le nombre actuel, le texte affiché, et si afficher ou masquer Réinitialisation bouton. L'attribut d' ProvideTolboxControl détermine où dans boîte à outils le contrôle de compteur s'affiche.
Pour ajouter du code au contrôle utilisateur
Double-cliquez sur le formulaire pour ouvrir le gestionnaire d'événements de chargement dans la fenêtre de code.
Au-dessus de le gestionnaire d'événements, créez un entier pour stocker la valeur de compteur et une chaîne pour stocker le texte affiché, comme indiqué dans l'exemple suivant.
int currentValue; string displayText;
créez les déclarations suivantes de propriété publique.
public int Value { get { return currentValue; } } public string Message { get { return displayText; } set { displayText = value; } } public bool ShowReset { get { return btnReset.Visible; } set { btnReset.Visible = value; } }
Les appelants peuvent accéder à ces propriétés pour obtenir et définir le texte du compteur, puis sur pour afficher ou masquer le bouton de Réinitialisation . Les appelants peuvent obtenir la valeur actuelle de la propriété en lecture seule d' Value , mais ils ne peuvent pas définir directement la valeur.
Insérez le code suivant dans l'événement d' Load pour le contrôle.
private void ToolboxControl_Load(object sender, EventArgs e) { currentValue = 0; label1.Text = Message + Value; }
Définir le texte de l'étiquette dans l'événement d' Load permet aux propriétés cibles pour charger avant que leurs valeurs sont appliquées. Définir le texte de l'étiquette dans le constructeur entraînerait un nom vide.
créez la méthode publique suivante pour incrémenter le compteur.
public void Increment() { currentValue++; label1.Text = displayText + Value; Incremented(this, EventArgs.Empty); }
Ajoutez la déclaration de l'événement d' Incremented .
public event EventHandler Incremented;
Les appelants peuvent ajouter des gestionnaires à cet événement pour répondre aux modifications de la valeur du compteur.
Retournez en mode Design et double-cliquez sur le bouton de Réinitialisation pour générer le gestionnaire d'événements d' btnReset_Click , puis complétez-le comme indiqué dans l'exemple suivant.
private void btnReset_Click(object sender, EventArgs e) { currentValue = 0; label1.Text = displayText + Value; }
À la définition de classe, cliquez avec le bouton droit sur le nom de classe, cliquez sur Refactoriser, cliquez sur Renommer, puis modifiez le nom de la classe à compteur. Il s'agit du nom qui s'affiche dans boîte à outils.
Juste au-dessus de la définition de classe, dans la déclaration attribute d' ProvideToolboxControl , modifiez la valeur du premier paramètre d' "Counter" à "General". Cela définit le nom du groupe d'éléments devant héberger le contrôle dans boîte à outils.
L'exemple suivant montre l'attribut d' ProvideToolboxControl et la définition de classe ajusté.
[ProvideToolboxControl("General", false)] public partial class Counter : UserControl
L'exemple suivant montre le code du contrôle utilisateur finalisée.
using System; using System.Windows.Forms; namespace Counter { [ProvideToolboxControl("General", false)] public partial class Counter : UserControl { public Counter() { InitializeComponent(); } private void btnReset_Click(object sender, EventArgs e) { currentValue = 0; label1.Text = displayText + Value; } int currentValue; string displayText; public int Value { get { return currentValue; } } public string Message { get { return displayText; } set { displayText = value; } } public bool ShowReset { get { return btnReset.Visible; } set { btnReset.Visible = value; } } private void ToolboxControl_Load(object sender, EventArgs e) { currentValue = 0; label1.Text = Message + Value; } public void Increment() { currentValue++; label1.Text = displayText + Value; Incremented(this, EventArgs.Empty); } public event EventHandler Incremented; } }
Test du contrôle
Pour tester un contrôle de boîte à outils , un premier test -le dans l'environnement de développement et le tester dans une application compilée.
Pour tester le contrôle
Appuyez sur F5.
Cela génère le projet et ouvre une deuxième instance de Visual Studio dans laquelle le contrôle installé.
Dans la nouvelle instance de Visual Studio, créez un projet Windows Forms.
Dans Explorateur de solutions, double-cliquez sur Form1.cs pour l'ouvrir dans le concepteur.
Dans boîte à outils, le contrôle de compteur doit être affiché dans la section de Général .
Faites glisser un contrôle de compteur à votre formulaire, puis sélectionnez -le. Value, Message, les propriétés et d' ShowReset sont affichés dans la fenêtre de Propriétés , ainsi que les propriétés héritées d' UserControl.
définissez la propriété d' Message à nombre :.
Faites glisser un contrôle d' Button au formulaire, puis définissez le nom et les propriétés de texte du bouton à test.
Double-cliquez sur le bouton pour ouvrir Form1.cs en mode Code et créer un gestionnaire clic.
Dans le gestionnaire clic, appelez counter1.Increment().
Dans la fonction constructeur, après l'appel à InitializeComponent, tapez Counter1.+= Incrémenté puis appuyez sur TAB deux fois.
Visual Studio génère un gestionnaire de formulaire-niveau pour l'événement d' Counter1.Incremented .
Mettez en surbrillance le gestionnaire d'instruction d' Throw dans l'événement, tapez mbox, puis appuyez sur la touche TAB deux fois pour générer un message de l'extrait de code dans mbox.
Sur la ligne suivante, ajoutez ifbloc/suivants d'else pour définir la visibilité du bouton de Réinitialisation .
if (counter1.Value < 5) counter1.ShowReset = false; else counter1.ShowReset = true;
Appuyez sur F5.
Le formulaire s'ouvre. le contrôle de compteur affiche le texte suivant.
nombre : 0
Cliquez sur Test.
le compteur incrémente et Visual Studio affiche un message.
Fermez la boîte de message.
le bouton de réinitialisation disparaît.
Cliquez sur Test jusqu'à ce que le compteur atteint 5, puis fermez la boîte de message.
le bouton de réinitialisation réapparaît.
Cliquez sur Réinitialiser.
Les compteurs réinitialisé à 0.
Étapes suivantes
Lorsque vous générez un contrôle de boîte à outils , Visual Studio crée un fichier nommé ProjectName.vsix dans le dossier \ bin \ debug \ de votre projet. Vous pouvez déployer le contrôle en téléchargeant le fichier .vsix à un réseau ou un site Web. Lorsqu'un utilisateur ouvre le fichier .vsix, le contrôle est installé et ajouté à Visual Studio boîte à outils sur l'ordinateur de l'utilisateur. Sinon, vous pouvez télécharger le fichier .vsix Visual Studio Gallery dans afin que les utilisateurs puissent trouver en parcourant dans Gestionnaire d'extensions.
Voir aussi
Tâches
Procédure pas - à - pas : Créer un contrôle de la boîte à outils WPF
Concepts
Concepts de base du développement de contrôles Windows Forms