Procedimiento para crear controles compuestosHow to: Author Composite Controls

Los controles compuestos pueden emplearse de muchas formas.Composite controls can be employed in many ways. Puede crearlos como parte de un proyecto de aplicación de escritorio de Windows y utilizarlos solo en formularios del proyecto.You can author them as part of a Windows desktop application project, and use them only on forms in the project. También podría crearlos en un proyecto de Biblioteca de controles de Windows, compilar el proyecto en un ensamblado y utilizar los controles en otros proyectos.Or you can author them in a Windows Control Library project, compile the project into an assembly, and use the controls in other projects. Es posible incluso heredar de ellos y utilizar la herencia visual para personalizarlos rápidamente para fines especiales.You can even inherit from them, and use visual inheritance to customize them quickly for special purposes.

Nota

Si desea crear un control compuesto para utilizarlo en los formularios Web Forms, vea Desarrollar controles de servidor ASP.NET personalizados.If you want to author a composite control to use on Web Forms, see Developing Custom ASP.NET Server Controls.

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos.The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas .To change your settings, choose Import and Export Settings on the Tools menu. Para más información, vea Personalizar el IDE de Visual Studio.For more information, see Personalize the Visual Studio IDE.

Para crear un control compuestoTo author a composite control

  1. Abra un nuevo proyecto Aplicación Windows denominado DemoControlHost.Open a new Windows Application project called DemoControlHost.

  2. En el menú Proyecto , haga clic en Agregar control de usuario.On the Project menu, click Add User Control.

  3. En el cuadro de diálogo Agregar nuevo elemento, dé al archivo de clase (archivo .vb o .cs) el nombre que desea para el control compuesto.In the Add New Item dialog box, give the class file (.vb or .cs file) the name you want the composite control to have.

  4. Seleccione el agregar botón para crear el archivo de clase para el control compuesto.Select the Add button to create the class file for the composite control.

  5. Agregue controles del Cuadro de herramientas a la superficie del control compuesto.Add controls from the Toolbox to the composite control surface.

  6. Escriba código en los procedimientos de evento para controlar los eventos que produzca el control compuesto o sus controles constituyentes.Place code in event procedures, to handle events raised by the composite control or by its constituent controls.

  7. Cierre el diseñador para el control compuesto y guarde el archivo cuando se le indique.Close the designer for the composite control, and save the file when you are prompted.

  8. En el menú Compilar , haga clic en Compilar solución.On the Build menu, click Build Solution.

    Para que los controles personalizados aparezcan en el Cuadro de herramientas, deberá compilar el proyecto.The project must be built in order for custom controls to appear in the Toolbox.

  9. Use la pestaña DemoControlHost del Cuadro de herramientas para agregar instancias del control a Form1.Use the DemoControlHost tab of the Toolbox to add instances of your control to Form1.

Para crear una biblioteca de clases de controlesTo author a control class library

  1. Abra un nuevo proyecto de tipo Biblioteca de controles de Windows.Open a new Windows Control Library project.

    De forma predeterminada, el proyecto contiene un control compuesto.By default, the project contains a composite control.

  2. Agregue controles y código como se describió en el procedimiento anterior.Add controls and code as described in the procedure above.

  3. Elija un control cuyas clases de herencia no desee que cambien y establezca la propiedad Modifiers de este control en Private.Choose a control you do not want inheriting classes to change, and set the Modifiers property of this control to Private.

  4. Compile el archivo DLL.Build the DLL.

Para heredar de un control compuesto de una biblioteca de clases de controlesTo inherit from a composite control in a control class library

  1. En el menú Archivo, seleccione Agregar y Nuevo proyecto para agregar un nuevo proyecto Aplicación Windows a la solución.On the File menu, point to Add and select New Project to add a new Windows Application project to the solution.

  2. En el Explorador de soluciones, haga clic con el botón derecho en la carpeta Referencias del nuevo proyecto y elija Agregar referencia para abrir el cuadro de diálogo Agregar referencia.In Solution Explorer, right-click the References folder for the new project and choose Add Reference to open the Add Reference dialog box.

  3. Seleccione la pestaña Proyectos y haga doble clic en el proyecto de Biblioteca de controles.Select the Projects tab and double-click your control library project.

  4. En el menú Compilar , haga clic en Compilar solución.On the Build menu, click Build Solution.

  5. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto de Biblioteca de controles y elija Agregar nuevo elemento en el menú contextual.In Solution Explorer, right-click your control library project and select Add New Item from the shortcut menu.

  6. Seleccione la plantilla Control de usuario heredado en el cuadro de diálogo Agregar nuevo elemento.Select the Inherited User Control template from the Add New Item dialog box.

  7. En el cuadro de diálogo Selector de herencia, haga doble clic en el control del que desea heredar.In the Inheritance Picker dialog box, double-click the control you want to inherit from.

    Se agrega un nuevo control al proyecto.A new control is added to your project.

  8. Abra el diseñador visual para el nuevo control y agregue controles constituyentes adicionales.Open the visual designer for the new control and add additional constituent controls.

    Puede ver los controles constituyentes heredados del control de usuario en la DLL, así como alterar las propiedades de aquellos controles cuya propiedad Modifiers sea Public.You can see the constituent controls that were inherited from the composite control in your DLL, and you can alter the properties of controls whose Modifiers property is Public. En cambio, no puede cambiar las propiedades del control cuya propiedad Modifiers sea Private.You cannot change the properties of the control whose Modifiers property is Private.

Vea tambiénSee also