2008-10-12 16 views
5

Tengo varias formas en una aplicación de Windows .net que tienen un conjunto común de cuadros de texto y otros controles de entrada de usuario, cada formulario tiene el mismo aspecto, pero cada formulario necesita cargar y guardar en diferentes tablas de la base de datos.¿Herencia visual o un control de usuario?

¿Sería mejor colocar los controles en una forma base y heredar de ella o crear un control de usuario para colocar en cada formulario?

Respuesta

1

Normalmente prefiero UserControls ya que son más flexibles: puede usarlos en el contexto de un formulario o en cualquier otro contexto visual para visualizar o modificar datos. He tenido varios casos en los que tuve que cambiar el diseño de mi IU desde un cuadro de diálogo separado para editar algo a un control en línea dentro del formulario principal o algo así.

Aparte de eso, yo diría que es una cuestión de gusto.

0

Depende. El modelo compuesto (utilizando el Control de usuario) es más limpio, pero el control no puede conocer el formulario de llamada, por lo que debe pasar la lógica como eventos. Eso a veces puede conducir a una lógica duplicada.

Con la herencia, puede implementar código común en la clase base con algunas modificaciones en la forma de la subclase e implementar una interacción flexible. Pero eso requiere que todos los implementadores de la subclase conozcan el código fuente de la clase base, que puede volverse caótico.

0

Uso ambos métodos, dependiendo de la situación. Si tiene una pieza funcional de LOGIC que desea simplemente colocar en un formulario sin modificar, entonces creo que los UserControls son apropiados. Sin embargo, si solo busca duplicar y extender una IU común en múltiples formas, entonces la herencia visual es probablemente la mejor opción.

0

Según la lógica detrás de sus controles de usuario más sencillos conectados con eventos. Si hay tareas en común, puede usar un control de servidor de clase base.

Cuestiones relacionadas