Comment mettre un UserControl dans la boîte à outils Visual Studio
J'ai fait un usercontrol dans mon projet, et après la construction du projet, j'ai besoin de le mettre dans ma boîte à outils, et l'utiliser comme un contrôle commun. mais je ne peux pas. le UserControl
est dans mon projet d'espace de noms, et j'ai essayé Choose Item
dans le menu clic-droit, mais je n'ai pas trouver un moyen de l'ajouter.
Vous devez vous connecter pour publier un commentaire.
Je suis en supposant que vous êtes à l'aide de VS2010 (c'est ce que vous avez marqué la question)
J'ai eu des problèmes pour obtenir les ajouter automatiquement à la boîte à outils comme dans VS2008/2005.
Il y a effectivement une option pour arrêter la boîte à outils automatique de remplissage de!
Allez dans Outils > Options > Concepteur Windows Forms > Général
Au bas de la liste, vous trouverez boîte à outils > AutoToolboxPopulate qui sur une nouvelle installation, par défaut à False. Définir vrai et puis reconstruire votre solution.
Hop ils les contrôles de l'utilisateur en vous solution doit être automatiquement ajouté à la boîte à outils.
Vous pourriez avoir à recharger la solution.
UserControl
est à l'extérieur de l'actuel projet.Cliquez-droit sur la barre d'outils, puis cliquez sur "choisissez l'item" dans le menu contextuel. Une boîte de dialogue avec les composantes enregistrées s'affiche. dans cette boîte de dialogue, cliquez sur "Parcourir" pour sélectionner votre assemblée avec le contrôle utilisateur que vous souhaitez utiliser.
PS.
Cette assemblée doit être enregistré avant de.
J'ai trouvé que l'utilisateur doit avoir un constructeur sans paramètre ou il ne sera pas affiché dans la liste. au moins c'était vrai dans vs2005.
À l'aide de VS 2010:
Disons que vous avez un Windows.Projet de formulaires. Vous ajoutez un contrôle utilisateur (disons MyControl) pour le projet, et la conception de tous. Maintenant que vous souhaitez l'ajouter à votre boîte à outils.
Dès que le projet est construit avec succès une fois, il apparaîtra dans votre Framework de Composants. Cliquez-droit sur la boîte à outils pour obtenir le menu contextuel, sélectionnez "Choisir les Éléments...", et recherchez le nom de votre contrôle (MyControl) en vertu de l' ".NET Framework de Composants" de l'onglet.
Avantage de l'utilisation de dll: vous pouvez modifier les contrôles dans le même projet que votre forme, et la forme permettra de construire, avec les nouveaux contrôles. Toutefois, le contrôle est uniquement disponible pour ce projet.
Remarque: Si le contrôle a construire des erreurs, à les résoudre avant de passer à l'contenant les formulaires, ou le concepteur a une crise cardiaque.
J'ai eu de nombreux utilisateurs, mais on a refusé de montrer dans le boîte à outils, même si j'ai reconstruit la solution et il a été vérifié dans le Choisir les Éléments... boîte de dialogue.
Solution:
Note cela nécessite également que vous avez la AutoToolboxPopulate option est activée. Comme @DaveF réponse suggère.
Solution de rechange: je ne suis pas sûr si cela fonctionne, et je ne pouvais pas l'essayer puisque je l'ai déjà résolu mon problème, mais si vous avez décoché l'utilisateur le contrôle de la Choisir les Éléments... boîte de dialogue, cliquez sur OK, puis ouvert vers l'arrière et vérifié le contrôle de l'utilisateur. Cela pourrait aussi travailler.
Il ya un couple de façons.
Dans l'original de votre Projet, choisissez Fichier|Exporter le modèle
Ensuite, sélectionnez ItemTemplate et suivez l'assistant.
Déplacer votre UserControl à une distincte ClassLibrary (et corriger les espaces de noms, etc).
Ajouter une référence à la classlibrary de Projets qui en ont besoin. Ne vous embêtez pas avec le GAC ou quoi que ce soit, juste le fichier DLL.
Je n'aurais pas de conseils à mettre un UserControl dans la normale de la boîte à outils, mais il peut être fait. Voir la réponse de @Arseni
Dans mon cas, je ne pouvais pas voir les contrôles dans le projet. Seulement quand un clic droit sur la boîte à outils et en sélectionnant "Tout Afficher" je l'ai vu, mais encore ils ont été désactivés...
Changement de type de Projet d'application Windows pour ClassLibrary fait le correctif.
De base qustion si vous utilisez des médicaments génériques dans votre base de contrôle.
Si oui:
permet de dire que nous avons le contrôle:
MyComboDropDown ne permettra pas d'ouvrir le concepteur de sur il et ne sera pas affiché dans la boîte à outils.
Pourquoi? En raison de contrôle de base n'est pas déjà compilés lors de MyComboDropDown est respecté.
Vous pouvez modifier ceci:
Qu'après la reconstruction, et de réinitialiser la boîte à outils, il devrait être en mesure de voir MyComboDropDown dans designer et également dans la boîte à outils
Le problème avec mon designer était de 32 vs 64 bits question. Je pourrais ajouter le contrôle à la boîte à outils après avoir suivi les instructions de la section Impossible d'ajouter des Contrôles à partir de 64 bits Assemblées à la boîte à outils ou à l'Utilisation dans les Concepteurs de l'IDE de Visual Studio article base de connaissances microsoft.
Recompiler a fait l'affaire pour moi!