J'ai fait un contrôle utilisateur dans mon projet, et après avoir construit un projet, je dois le mettre dans ma boîte à outils et l'utiliser comme contrôle commun. mais je ne peux pas. le UserControl
est dans mon espace de noms de projet, et j'ai essayé Choose Item
dans le menu contextuel, mais je n'ai pas trouvé de moyen de l'ajouter.
93
UserControl
est en dehors du projet en cours.Faites un clic droit sur la barre d'outils puis cliquez sur "choisir un élément" dans le menu contextuel. Une boîte de dialogue avec les composants enregistrés apparaît. dans cette boîte de dialogue, cliquez sur "Parcourir" pour sélectionner votre assemblage avec le contrôle utilisateur que vous souhaitez utiliser.
PS. Cet assemblage doit être enregistré avant.
la source
J'ai trouvé que le contrôle utilisateur doit avoir un constructeur sans paramètre ou il n'apparaîtra pas dans la liste. du moins c'était vrai en vs2005.
la source
Utilisation de VS 2010:
Disons que vous avez un projet Windows.Forms. Vous ajoutez un UserControl (disons MyControl) au projet et vous concevez tout. Vous souhaitez maintenant l'ajouter à votre boîte à outils.
Dès que le projet est généré une fois avec succès, il apparaîtra dans vos composants de structure. Cliquez avec le bouton droit de la souris 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) sous l'onglet «Composants .NET Framework».
Avantage par rapport à l'utilisation des DLL: vous pouvez modifier les contrôles dans le même projet que votre formulaire, et le formulaire sera construit avec les nouveaux contrôles. Cependant, le contrôle ne sera disponible que pour ce projet.
Remarque: si le contrôle a des erreurs de génération, résolvez-les avant de passer aux formulaires contenant, ou le concepteur a une crise cardiaque.
la source
J'avais de nombreux contrôles d'utilisateurs, mais l'un d'entre eux a refusé de s'afficher dans la boîte à outils , même si j'ai reconstruit la solution et qu'elle a été cochée dans la boîte de dialogue Choisir les éléments ...
Solution:
Notez que cela nécessite également que l' option AutoToolboxPopulate soit activée. Comme le suggère la réponse @DaveF.
Solution alternative: je ne suis pas sûr que cela fonctionne et je n'ai pas pu l'essayer car j'ai déjà résolu mon problème, mais si vous avez décoché le contrôle utilisateur dans la boîte de dialogue Choisir les éléments ... , appuyez sur OK, puis ouvrez-le de nouveau et vérifié le contrôle utilisateur. Cela pourrait également fonctionner.
la source
Il y a plusieurs façons.
Dans votre projet d'origine, choisissez Fichier | Exporter le modèle,
puis sélectionnez ItemTemplate et suivez l'assistant.
Déplacez votre UserControl vers une ClassLibrary distincte (et corrigez les espaces de noms, etc.).
Ajoutez une référence à la bibliothèque de classes à partir des projets qui en ont besoin. Ne vous embêtez pas avec le GAC ou quoi que ce soit, juste le fichier DLL.
Je ne conseillerais pas de mettre un UserControl dans la ToolBox normale, mais cela peut être fait. Voir la réponse de @Arseny
la source
Dans mon cas, je ne pouvais voir aucun des contrôles dans le projet. Ce n'est qu'en cliquant avec le bouton droit de la souris sur toolBox et en sélectionnant "Afficher tout" que je les ai vus, mais ils ont été désactivés ...
La modification du type de projet de l'application Windows vers ClassLibrary a permis de résoudre le problème.
la source
Qustion de base si vous utilisez des génériques dans votre contrôle de base. Si oui:
disons que nous avons le contrôle:
MyComboDropDown ne permettra pas d'ouvrir le concepteur dessus et ne sera pas affiché dans Toolbox. Pourquoi? Parce que le contrôle de base n'est pas déjà compilé - lorsque MyComboDropDown est respecté. Vous pouvez modifier ceci:
Après la reconstruction et la réinitialisation de la boîte à outils, il devrait être en mesure de voir MyComboDropDown dans le concepteur et également dans la boîte à outils
la source
Le problème avec mon concepteur était un problème 32 vs 64 bits. Je pourrais ajouter le contrôle à la boîte à outils après avoir suivi les instructions dans Impossible d'ajouter des contrôles à partir d'assemblys 64 bits à la boîte à outils ou à utiliser dans les concepteurs dans l' article de la base de connaissances MS de Visual Studio IDE .
la source
La recompilation a fait l'affaire pour moi!
la source