Supongo que está usando VS2010 (así es como ha etiquetado la pregunta). Tuve problemas para que se agreguen automáticamente a la caja de herramientas como en VS2008 / 2005. De hecho, existe una opción para detener el llenado automático de la caja de herramientas.
Vaya a Herramientas> Opciones> Diseñador de formularios Windows Forms> General
En la parte inferior de la lista, encontrará Toolbox> AutoToolboxPopulate, que en una instalación nueva se establece de forma predeterminada en False. Configúrelo como verdadero y luego reconstruya su solución.
Oye, listo, los controles de usuario en tu solución deberían agregarse automáticamente a la caja de herramientas. Es posible que también deba volver a cargar la solución.
UserControl
está fuera del proyecto actual.Haga clic con el botón derecho en la barra de herramientas y luego haga clic en "elegir elemento" en el menú contextual. Aparece un cuadro de diálogo con los componentes registrados. en este cuadro de diálogo, haga clic en "Examinar" para seleccionar su ensamblaje con el control de usuario que desea utilizar.
PD. Esta asamblea debe registrarse antes.
fuente
Descubrí que el control de usuario debe tener un constructor sin parámetros o no aparecerá en la lista. al menos eso fue cierto en vs2005.
fuente
Usando VS 2010:
Digamos que tiene un proyecto de Windows.Forms. Agrega un UserControl (digamos MyControl) al proyecto y lo diseña todo. Ahora desea agregarlo a su caja de herramientas.
Tan pronto como el proyecto se haya construido con éxito una vez, aparecerá en sus Componentes de Framework. Haga clic con el botón derecho en el Cuadro de herramientas para obtener el menú contextual, seleccione "Elegir elementos ..." y busque el nombre de su control (MyControl) en la pestaña "Componentes de .NET Framework".
Ventaja sobre el uso de dlls: puede editar los controles en el mismo proyecto que su formulario, y el formulario se construirá con los nuevos controles. Sin embargo, el control solo estará disponible para este proyecto.
Nota: Si el control tiene errores de compilación, resuélvalos antes de pasar a los formularios que lo contienen, o el diseñador tiene un ataque cardíaco.
fuente
Tenía muchos controles de usuario, pero uno se negó a mostrarse en la Caja de herramientas , a pesar de que reconstruí la solución y se marcó en el cuadro de diálogo Elegir elementos ...
Solución:
Tenga en cuenta que esto también requiere que tenga habilitada la opción AutoToolboxPopulate . Como sugiere la respuesta de @DaveF.
Solución alternativa: no estoy seguro de si esto funciona, y no pude intentarlo porque ya resolví mi problema, pero si desmarcó el control de usuario en el cuadro de diálogo Elegir elementos ... , presione Aceptar y luego vuelva a abrirlo. y comprobó el control del usuario. Eso también podría funcionar.
fuente
Hay un par de maneras.
En su proyecto original, elija Archivo | Exportar plantilla
Luego seleccione ItemTemplate y siga el asistente.
Mueva su UserControl a una ClassLibrary separada (y arregle los espacios de nombres, etc.).
Agregue una referencia a la biblioteca de clases de los proyectos que la necesitan. No se moleste con el GAC ni nada, solo el archivo DLL.
No recomendaría poner un UserControl en el ToolBox normal, pero se puede hacer. Vea la respuesta de @Arseny
fuente
En mi caso, no pude ver ninguno de los controles en el proyecto. Solo al hacer clic derecho en ToolBox y seleccionar "Mostrar todo" los vi, pero aún estaban deshabilitados ...
Cambiar el tipo de proyecto de la aplicación de Windows a ClassLibrary hizo la solución.
fuente
Qustion básica si está utilizando genéricos en su control base. En caso afirmativo:
digamos que tenemos el control:
MyComboDropDown no permitirá abrir el diseñador en él y no se mostrará en Toolbox. ¿Por qué? Porque el control base aún no está compilado, cuando se cumple MyComboDropDown. Puede modificar esto:
Luego, después de reconstruir y restablecer la caja de herramientas, debería poder ver MyComboDropDown en el diseñador y también en la Caja de herramientas
fuente
El problema con mi diseñador fue un problema de 32 vs 64 bits. Podría agregar el control a la caja de herramientas después de seguir las instrucciones en No se pueden agregar controles de ensamblajes de 64 bits a la caja de herramientas o usar en diseñadores dentro del artículo de Visual Studio IDE MS KB.
fuente
¡La recompilación funcionó para mí!
fuente