visual-studio-2008 user-controls toolbox

visual studio 2008 - Los controles de usuario no aparecen en la caja de herramientas



visual-studio-2008 user-controls (29)

  1. Construya su proyecto para asegurarse de que compila.

  2. Con el formulario en el que desea que el usuario controle, abra la caja de herramientas, haga clic con el botón derecho y seleccione "Elegir elementos"

  3. Busque su .exe o dll que compiló en el paso 1.

  4. asegúrese de que su control de usuario tenga un tilde al lado, presione OK.

  5. Su control de usuario debería aparecer en la caja de herramientas, así que arrástrelo a su formulario.

Esto está adaptado de la respuesta de Calanus a una pregunta similar .

Tengo algunos UserControls que creé en ProjectA. Tengo ProjectB que tiene un formulario de Windows en el que quiero poner los controles. Ambos proyectos están en una única solución. Hay una referencia a ProjectA desde ProjectB para que pueda "ver" UserControls.

Sin embargo, los UserControls no aparecen en la caja de herramientas para que pueda arrastrarlos al formulario de Windows.

Intenté reconstruir. También borré el directorio ''bin'' para forzar una reconstrucción de todo.

¿Cómo obtengo VS2008 para llenar la caja de herramientas con mis UserControls?


Además de todas las instrucciones que se han dado (Herramientas> Opciones> Diseñador de Windows Forms> General: AutoToolboxPopulate) + es necesario construir la solución (lo cual es obvio para mí) probablemente tendrá que prestar atención al modificador de acceso de clase: DEBE ser PÚBLICO. Acabo de crear un control y no apareció en la lista de herramientas y no sabía por qué. Entonces después de establecer

public class yourClass:control {}

de lo que aparecía en la lista. ;) Espero que esto ayude a otros.


Antes de intentar agregar un control personalizado, asegúrese de que sea compatible con la versión .Net de su proyecto actual.

Estaba intentando agregar un control personalizado a la caja de herramientas para un proyecto para Windows CE 5.0 y .Net Compact v3.5 en VS2008. Hice todas las sugerencias anteriores pero nada funcionó. El control aparece cuando se marca "mostrar todo" pero está atenuado, incluso en el menú "Elegir elementos" está marcado.

Creé un nuevo proyecto con .Net v2.0 y funcionó a la perfección.


Aquí estaba mi problema: ¡había agregado un nuevo constructor para mi control que aceptaba algunos argumentos, pero no había vuelto a declarar explícitamente el constructor vacío! La caja de herramientas solo puede incluir controles que tienen constructores vacíos. En general, cuando diseñas una clase en vb, tiene un constructor vacío definido implícitamente (lo que significa que no necesitas declarar uno). PERO, tan pronto como comienzas a diseñar tus propios constructores, este constructor vacío desaparece, ¡así que tienes que redefinirlo explícitamente en tu código! De todos modos, me doy cuenta de que el codificador vb más experimentado ya sabe todo esto, pero espero que esto pueda ayudar a algunos novatos como yo :).


Bueno, nada me funcionaba, excepto que esto funcionó ...

  1. Creo un nuevo proyecto en mi solución, y para este proyecto funciona, así que iba a empezar a usar este
  2. Jugando arduamente, comencé a ajustar el xml del archivo csproj para averiguar qué estaba mal con mi otro proyecto en la misma solución y luego lo reinicié porque no parecía estar funcionando
  3. Ahora está mágicamente trabajando de nuevo en mi proyecto

No es una solución muy buena, pero deberías probar estos pasos

  1. Vea si funciona en una nueva solución / proyecto.
  2. Vea si funciona en un nuevo proyecto en la misma solución
  3. Si el # 2 funcionó, quizás compares los archivos .csproj ... de alguna manera el mío comenzó a funcionar de nuevo mientras lo hacía (esto es muy frustrante).

Caí en esta trampa hace solo un par de horas.
Tengo un proyecto de aplicación de Windows .NET 2.0 con algunos UserControls personalizados; funcionó bien Así que decidí ordenar mis archivos en subcarpetas, para hacer mi proyecto un poco más limpio.
Después de eso, el diseñador de Visual Studio 2010 dejó de cargar mis formularios y ToolBox ya no mostrará mis controles.
Me asusté, moviendo los archivos fuente en la raíz del proyecto, reiniciando ToolBox, pero nada parecía funcionar. Después de eso, recordé que usé ReSharper "Eliminar referencias no utilizadas", así que traté de volver a poner la referencia no utilizada , en particular System.Data : ¡problema resuelto! : O No puedo decir por qué, pero esto funcionó para mí.
Espero que mi experiencia pueda ayudar a alguien más. :)
Adiós, Nando


Como se mencionó here , debe decirle al estudio visual que cargue su control de usuario en la caja de herramientas.

[ToolboxItem(true)] public class PanelTitle : LabelControl { // Whatever code to override LabelControl here... }


Cuando traté de agregar mi UserControl a la caja de herramientas (haga clic con el botón secundario en la caja de herramientas, elija elementos, seleccione mi DLL) se mostraría un mensaje que decía que no había controles en mi DLL.

De todos modos, el problema fue resuelto, al tratar de crear un formulario en mi DLL en VS y agregar el UserControl. Se muestra un mensaje de error que dice que no hay un constructor predeterminado

public UserControl() { ... }

El diseñador necesita esto porque no puede saber cuáles son los argumentos válidos. Una vez que agregué un constructor en blanco al UserControl, se agregó a la caja de herramientas sin problema.


En mi caso, AutoToolboxPopulate ya estaba configurado (Visual C # 2010 Express).

Sin embargo, tuve que activar "Mostrar todo" desde las propiedades de la Caja de herramientas (clic derecho) para ver realmente mis nuevos controles de usuario.


En mi caso, la razón del error fue una longitud excesiva de un camino a la .dll de mi control. Me había encogido un poco y todo se puso bien.

También descubrí que los símbolos especiales (por ejemplo, utilicé #) en una ruta afectan a una pantalla de control.

Espero que resuelva el problema.


En su UserControl, asegúrese de que New se declare Public . No aparecerá si se acaba de declarar Sub New (que por defecto es Friend).


Es posible que todo lo anterior falle.

Lo arreglé creando un nuevo control de usuario (TestControl) y activó Visual Studio para agregar mágicamente los controles + pestañas de controles de mi proyecto a la Caja de Herramientas. Entonces acabo de eliminar el control de prueba.

Esto me sucedió después de instalar recientemente una actualización de Windows automática VS 2008, por cierto.


Hasta ahora, no tuve ningún problema con los controles de usuario que no se muestran en la caja de herramientas. Crea el proyecto y simplemente aparece. Entonces hoy no funciona. Después de una búsqueda, seguí el siguiente pero todavía no me gustó.

  • Herramientas> Opciones> Windows Forms Designer> General: AutoToolboxPopulate
  • Herramientas> Opciones> Editor de texto> XMAL> Misc: AutoToolboxPopulate
  • Restablezca la configuración de VS a la predeterminada

Así que después de unas horas de perder el tiempo tratando de hacer que funcione sin éxito, creé un nuevo proyecto de windows WPF que aceptaba el nombre predeterminado y añadí un control de usuario. Construyó el proyecto y el control del usuario apareció como siempre.

Entonces pensé que algo podría estar mal con mi proyecto o archivo de ventana wpf. Se eliminó el proyecto, se creó uno nuevo y se agregó un nuevo control. Construyó el proyecto pero no funcionó.

Lo único que hice diferente fue elegir un nombre para el proyecto, que incluí un espacio en el nombre "Aplicación WPF".

Se eliminó el proyecto nuevamente y se creó uno nuevo llamado "Aplicación WPFA" sin el espacio y se agregó un control de usuario. Lo construyó y apareció el control del usuario.

Si desea que los controles de usuario se muestren automáticamente en la caja de herramientas en la compilación, no use espacios en el nombre del proyecto. Esperemos que este mensaje guarde a alguien más una tonelada de tiempo perdido.


Intentaba construir una aplicación solo x64, por lo que mi objetivo de plataforma se estableció en x64 por supuesto.

Sin embargo, incluso en 2016, Visual Studio ( devenv.exe ) sigue siendo un proceso de 32 bits y no puede cargar ensamblajes de 64 bits. Para verificar la bitness de su Visual Studio, abra el Administrador de tareas y busque *32 en el nombre del proceso.

Solución alternativa para ver los controles en la caja de herramientas: establezca el objetivo de la plataforma en Any CPU en la configuración del proyecto. Haga eso para la creación de Debug and Release, si es necesario.


Lo que suelo hacer es crear una nueva pestaña y agregar el exe / dll a esa pestaña ... No es muy cómodo con esa solución debido al tiempo de carga y la molestia general.

Un amigo me mostró una forma de acelerar esto. En lugar de tener que hacer clic en "Elegir elementos ..." en la caja de herramientas, etc., para cada nuevo control que realice: puede crear un archivo llamado MyCustomControls y allí puede crear sus controles personalizados.

Ahora solo tiene que hacer "Elegir elementos ..." y agregar este archivo UNA VEZ. Si luego decide agregar un nuevo control, MyCustomControls en MyCustomControls y luego MyCustomControls .
Entonces su caja de herramientas tendrá su nuevo control. (Se mostrará automáticamente con una compilación regular si tiene AutoToolboxPopulate , creo)

Esto es desafortunado, porque a menudo desea separar las clases en "una clase por archivo". Es horrible que tengas que arruinar la arquitectura de tu código solo porque VS no quiere hacerlo a tu manera. :)

Tampoco estoy muy cómodo con esta solución, pero si necesita hacer algo rápido y no le importan los múltiples controles de usuario dentro de un archivo o simplemente son perezosos, esto podría serle útil. :)


Mi control era público, se verificó en el cuadro de diálogo ''Elegir elementos de la caja de herramientas'', pero aún no se mostraba.

Esto es lo que finalmente funcionó para mí:

Haga clic derecho en algún lugar de la Caja de herramientas y haga clic en "Elegir elementos". Cuando encontré mi artículo, ya estaba marcado. Luego desactivé el elemento y hice clic en Aceptar. A continuación, hice clic derecho en la caja de herramientas nuevamente y busqué mi artículo ... desapareció, así que hice clic en Examinar, navegué a la carpeta obj / x86 / debug y seleccioné mi exe. El artículo luego se agregó correctamente a la caja de herramientas.

Creo que es un error de VS


Otra razón por la que los controles de usuario pueden no aparecer en la caja de herramientas es si no tienen un constructor predeterminado.


Para alguien que podría estar trabajando con ToolStripItems (por ejemplo, ToolStripStatusLabel ), para obtener realmente su control derivado para aparecer en el menú desplegable (como el de StatusStrip ), debe establecer la clase en public luego generar la solución.

Además, no olvide el atributo de diseñador para su clase, algo como esto:

using System.Windows.Forms.Design; [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.StatusStrip)] public class MyStatusLabel : ToolStripStatusLabel { }

Me tomó un tiempo para hacerlo bien. Con suerte, esto puede salvar el tiempo de otra persona.


Síntoma 1: ¡Las vistas de diseño para Form, UserControl y Component fueron FALLABLES!

  • La vista de diseño de mi formulario estaba fallando con el mensaje "no se puede encontrar ''Control de usuario''".
  • Si pudiera hacer funcionar la vista de diseño del formulario, sería muy inestable y estaría corrompida por completo con cualquier cambio.

Síntoma 2: El control de usuario y el componente en la caja de herramientas

  • Aparecieron grises en la Caja de herramientas y mostraron un nombre confuso
  • "Elegir elemento" en el menú contextual de la Caja de herramientas mostraba un nombre confuso y sin espacio de nombres

Solución: configure el alcance en Público en la versión vb detrás de UserControl, & Component


Si aún no puede encontrar por qué su caja de herramientas de vstudio no está poblada con sus controles de usuario. Luego puedes depurar vstudio con otro estudio visual. Aquí puedes encontrar cómo .


Si ha intentado seguir todas las otras respuestas y todavía no funciona, lo siguiente lo solucionó:

  • Haga clic derecho en su proyecto que contiene su control.
  • Seleccionar Properties
  • En la categoría Configuración de Build , asegúrese de que Register for COM interop esté marcado.

Siempre que ya haya intentado retocar con:

  • Herramientas> Opciones> Windows Forms Designer> General: AutoToolboxPopulate
  • Herramientas> Opciones> Editor de texto> XMAL> Misc: AutoToolboxPopulate
  • creó un constructor predeterminado
  • construye tu proyecto / restablece la caja de herramientas y agrega manualmente tu pestaña

Sin embargo, todavía lo ves en gris.

Compruebe la longitud de su ruta y verifique los charcters que se utilizan en su ruta absoluta .

Tenía un proyecto que residía en "C: / Users / myName / myCompany / R & D / Projects"
Y después de unas horas descubrieron que el "R & D" es el problema ...
El '' & '' no permitió que mis elementos de control de usuario se habilitaran en mi caja de herramientas.


También verifique que sus controles de usuario tengan un espacio de nombres válido.

Acabo de descubrir que los controles sin espacio de nombres no se colocan dentro de ToolBox.


Usualmente necesitas construir la solución. Eso casi siempre funciona para mí.


Verifica tu directorio de salida de compilación. Si por algún motivo está creando su salida en algún lugar que no sea el directorio del proyecto bin /, sus controles no se mostrarán en su caja de herramientas.


Verifique esta configuración:

Herramientas> Opciones> Windows Forms Designer> General: AutoToolboxPopulate

Debe establecerse en True para que esto funcione.


Verifique la ruta del proyecto, evite & , # etc.

He movido mi solución de la drive:/work/c#/folder/ a drive:/work/folder y resolvió el problema.


Yo tuve el mismo problema. Después de buscar en Google no encontré nada, pero por casualidad descubrí que si hace clic en la caja de herramientas mientras está en el mismo proyecto en el que creó el control de usuario, y marca " mostrar todo ", entonces un grupo con el mismo nombre que su proyecto aparecerá en la parte superior de la caja de herramientas en la que puede encontrar su control de usuario. ¡Ahora puede agregar su control en la forma que desee!


hola su respuesta Ctrl + Alt + X tomar esto y más tarde u tiene TOOLBOX :)