Estas son tres cosas diferentes que puede agregar a un proyecto y no estoy muy seguro de entender la diferencia. Todos parecen aparecer, por ejemplo, en la caja de herramientas del componente cuando se trabaja con un Form
. ¿Cuáles son algunos escenarios de uso comunes para cada uno de ellos? ¿Cuál es la diferencia?
c#
winforms
controls
components
Svish
fuente
fuente
UserControl
realidad es un control "compuesto" (un control hecho de otros controles), mientras que un control personalizado es realmente un control diseñado por el usuario.UserControl
?Además de lo que dijo Fredrik, generalmente se usarían componentes y controles personalizados cuando planee reutilizarlos en todos los proyectos. Use los controles de usuario cuando solo los usaría en un proyecto.
fuente
Creo que la última afirmación no es correcta en mi opinión. Creo controles de usuario por muchas razones diferentes.
La razón principal es que si, por ejemplo, diseño una interfaz de múltiples controles agrupados.
Primero creo una biblioteca de clases, luego le agrego controles de usuario. Ahora, si necesito cambiar cualquier parte de la lógica detrás de cómo funciona el control de usuario, puedo hacerlo muy fácilmente. Además, esta biblioteca de clases se puede utilizar varias veces.
También dentro de la misma biblioteca con clase, puedo tener varias clases que se pueden compartir y usar para cualquiera de mis controles de usuario.
Esta es la razón principal por la que uso los controles de usuario. Y si realiza un cambio en su control de usuario o biblioteca de clases. una vez que construya el trabajo. el dll se actualizará dinámicamente en la carpeta bin.
Entonces, si hago referencia a esto en otro proyecto, esos cambios también aparecerán en el nuevo proyecto.
Además, no utiliza las mismas rutinas de pintura que el formulario y todo lo que haya cargado en el formulario.
Entonces, los controles de usuario nos dan la capacidad de ser muy modulares. Y puedo tener múltiples controles de usuario que comparten las clases básicas de la biblioteca de clases ... Entonces, el propósito de control de usuario no es solo para un proyecto. No tiene limitaciones al respecto. jeff
fuente
La principal diferencia entre ellos: User Control es un archivo de página con extensión .ascx que solo se puede usar dentro de una sola aplicación o proyecto. Pero los controles personalizados son ensamblados (archivos dll) que se pueden usar en múltiples aplicaciones.
fuente