2009-09-04 7 views
6

Controles del usuario: ¿sirven para un propósito especial?¿Cuál es el propósito de los controles de usuario en Visual C#?

Por lo que puedo decir, no son diferentes a los formularios, tienen la misma caja de herramientas y características.

¿Hay ciertos momentos en los que son apropiados para usar sobre los formularios? Sería interesante entender para qué sirven.

Respuesta

10

Los usa para agrupar un conjunto de controles y comportamientos juntos de una manera reutilizable. No puede mostrar un control en la pantalla a menos que se agregue a un formulario en alguna parte.

Un buen ejemplo es un cuadro de texto. Es muy común tener una etiqueta al lado de tus cuadros de texto. Puede construir un control de usuario para facilitar esto. Simplemente coloque una etiqueta y un cuadro de texto en el control, exponga las propiedades que desee, configure el nuevo control en su caja de herramientas y ahora puede soltar este control en su formulario en lugar de tener que colocar una etiqueta y una caja de herramientas en el formulario. por separado.

Podría pensar en ellos como en un panel "recuerda" qué controles le puso. Y hay una pieza más importante. Puede poner código en estos controles también, y usar eso para crear también comportamientos especiales en sus controles personalizados.

+0

Así que esencialmente como Paneles, pero como una entidad separada? – Ric

+1

La clave es que son reutilizables. Puede poner varias instancias de un control en un formulario. –

0

Puede reutilizar el mismo control en muchos formularios. De hecho, todos los elementos que está utilizando al crear formularios de Windows son los controles. Los controles de usuario son simplemente controles adicionales que amplían la biblioteca de controles proporcionada por .NET.

7

Los controles de usuario sirven para reutilizar los controles. Imagine que necesita un cuadro de búsqueda en varias páginas de su aplicación. Puede crear un control de usuario de búsqueda y soltarlo en cada página donde lo desee.

Por lo tanto, no es más que un contenedor que agrega bloques reutilizables para sus páginas.

0

En ASP.NET, los controles de usuario le permiten dividir su página en componentes reutilizables. Por ejemplo, es posible que desee tener un cuadro de búsqueda que se pueda utilizar en diferentes lugares de su sitio web, por lo que utilizaría un control de usuario. También se pueden usar para partial page caching. Puede almacenar en caché porciones de su página para mejorar el rendimiento.

1

Las formas tienen una gran cantidad de muebles adicionales que no necesita si simplemente desea una colección de controles juntos: los botones de minimizar y maximizar, por ejemplo. Si simplemente agrupara sus controles en un Panel, tendría todos los manejadores de eventos en el mismo formulario que el panel: con un control de usuario, el código de manejo de eventos está en la clase de control de usuario, no en la clase de formulario.

9

Tengo que estar en desacuerdo (un poco) con la respuesta seleccionada. La reutilización es solo una parte de lo que es un UserControl.

Todos los controles son reutilizables. Casi todos los controles son reutilizables en el mismo formulario/ventana/panel/etc. Por ejemplo, un TextBox es un control.

Hay dos maneras de crear su propio control reutilizable:

  1. control personalizado
    • completamente personalizados y reutilizables.
    • Creado por completo en el código.
    • Obtiene un control un poco más granular de lo que su control está haciendo de esta manera.
    • Menos peso (por lo general), porque no hay nada agregado para la designabilidad en Visual Studio.
    • Sólo en ASP.Net: no se necesita usar ningún archivo de tipo "HTML" para editar o editar.
  2. de Control de Usuario
    • completamente personalizado, y reutilizable.
    • Creado parcialmente en un diseñador en Visual Studio y parcialmente en código. (a través del código detrás)
    • Mucho más fácil de tratar desde un aspecto visual.
    • Un poco más pesado, ya que hay un código preexistente agregado por el marco para admitir el diseño dentro de Visual Studio.
    • Solo en ASP.Net: puede cambiar la apariencia un poco simplemente editando el archivo .ascx (básicamente HTML).
Cuestiones relacionadas