2011-02-25 5 views
6

Hice un Control de usuario y ya pude usarlo agregándolo a un formulario en el código C#. El control de usuario está en el mismo proyecto VS2005 que el formulario principal.¿Puedo usar un UserControl del mismo proyecto sin hacer una DLL?

El problema es que no puedo ver el Control de usuario en el editor gui (ventana [Diseño]) con esta implementación. Intenté muchas cosas, pero no pude agregar el control del usuario al diseño de la forma real.

He leído algunas cosas sobre cómo hacer un control lib dll y luego agregar este dll a la caja de herramientas, pero no quiero tener un proyecto adicional y un archivo binario adicional.

¿Cómo puedo usar un control de usuario en un diseño de formulario, si ambos están en el mismo proyecto VS? Creo que de alguna manera esto debería ser posible?

Edición 1:

Lo siento tener Visual Studio 2005 no 2010

+0

La respuesta es no, no necesita agregarla a un segundo proyecto e incluirla en una DLL. Esto me pasó una vez en VS2005. Mis clases de control no aparecían en la caja de herramientas después de construir el proyecto. El problema es ... No recuerdo exactamente cómo lo resolví. –

+0

¿Ha intentado hacer clic derecho en la caja de herramientas y seleccionar "Elegir elementos"? – Jimmy

+0

sí ... pero el problema se resolvió ... fue una configuración de estudio visual equivocada. – fpdragon

Respuesta

11

Es ciertamente posible utilizar un UserControl en modo de diseño cuando es parte del mismo proyecto.

Tenga en cuenta, sin embargo, que solo aparecerá en su caja de herramientas si ha habilitado la configuración "AutoToolboxPopulate". Vaya al menú "Herramientas" y seleccione "Opciones". Expanda "Windows Forms Designer" y haga clic en "General". Asegúrese de que la propiedad "AutoToolboxPopulate" esté configurada en True. Cuando reconstruya su solución, su UserControl debería aparecer en la parte superior de su caja de herramientas, listo para agregar a su formulario.

Como alternativa, puede agregar el UserControl manualmente a su caja de herramientas. Para hacer eso, haga clic derecho en su caja de herramientas y seleccione "Elegir elementos" en el menú contextual. Navega hacia tu control, asegúrate de que esté marcado en la lista y haz clic en "Aceptar".

En el caso de que se produzca una excepción (como se menciona en MacX), el diseñador le seguirá notificando. El control seguirá apareciendo en la caja de herramientas, y aún podrá intentar agregarlo a su formulario.

+0

¡Eso fue todo! ¡Gracias y también a los demás! – fpdragon

0

Usted debe ser capaz de utilizar un control de usuario personalizado en el diseñador de formularios Windows Forms. Sin embargo, primero debes construir tu proyecto. Puede hacer esto yendo a Build -> Build Solution o presionando F6. Entonces su control debería aparecer en la Caja de Herramientas.

+0

Incluso intenté una reconstrucción pero no se muestra en la caja de herramientas :( – fpdragon

0

Sí, en el cuadro de herramientas, haga clic con el botón derecho y elija "Elegir elementos ...". Luego vaya a "Componentes de .NET Framework": sus controles deben aparecer en la lista. Solo elige agregarlos.

+0

hmmm no aparece en la lista aquí, incluso después de recompilar – fpdragon

+0

... no estoy seguro, he tenido el mismo problema y me ha funcionado. ¡Asistió a que te clasificaran de todos modos! – Fraser

1

Como ya mencionó APShredder, el control debería aparecer automáticamente en la caja de herramientas. Si no se comprueba tus Visual Studio Ajustes:

Herramientas - Opciones - Diseñador de Windows Forms - General - AutoToolboxPopulate - True

Para más información acaba de leer el Walkthrough in the MSDN.

0

No debería haber ningún problema con el control, excepto que tiene una excepción que se lanza dentro del constructor o del evento de carga. The Designer no puede mostrar el control correctamente.

0

En VS2010 después de crear un control de usuario y compilarlo, VS agrega automáticamente su componente y lo hace visible en su espacio de nombres en la barra de herramientas. Esto se puede hacer tanto en WPF como en código/componentes de estilo anterior ...

Cuestiones relacionadas