Foros del Web » Programación para mayores de 30 ;) » .NET »

Duda formularios heredados

Estas en el tema de Duda formularios heredados en el foro de .NET en Foros del Web. Hola a todos. Veréis, he oído algo sobre los formularios heredados. Son formularios que, basandote en un formulario base, puedes crear tantas instancias como quieras. ...
  #1 (permalink)  
Antiguo 25/07/2012, 00:39
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 12 años, 3 meses
Puntos: 3
Pregunta Duda formularios heredados

Hola a todos.

Veréis, he oído algo sobre los formularios heredados. Son formularios que, basandote en un formulario base, puedes crear tantas instancias como quieras.

Ahora bien, imaginad el siguiente supuesto: Tengo 2 cuadros de dialogo, llamados "Salir" y "Cerrar sesión".

Los dos son muy parecidos, de hecho, solamente cambia el texto de un label y el titulo del formulario.

Ahora bien, actualmente están como dos formularios creados de cero, pero para que apenas se note diferencia (soy muy purista en cuanto organización se refiere), he controlado que sea el mismo size, que el location de los objetos sea igual, etc.

Había pensado en hacer un formulario base y heredar los dos cuadros de dialogo de ese formulario base. Ahora bien, la duda está en que, si heredo los dos cuadros, serán idénticos al formulario base, con lo que no me sirve, ya que si el formulario base tiene un label que dice, por ejemplo, "Desea salir de la aplicación", el formulario heredado que se llame "Cerrar sesión" también tendrá el texto "Desea salir de la aplicación", ¿no?

Por lo tanto, no se podría hacer lo que comento con forms heredados?

Muchas gracias :)

Saludos.
  #2 (permalink)  
Antiguo 25/07/2012, 01:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 12 años, 3 meses
Puntos: 3
Respuesta: Duda formularios heredados

Bueno, probando veo que puedo modificar el texto del label del formulario heredado antes de mostrarlo (una vez declarada la instancia a nivel de código, puedo modificar tanto el texto del formulario como el del label), con lo que solamente conserva la apariencia y el código que tengan los controles (botones, etc)

Ok, ya me sirve. Si tuviera alguna duda ya la comentaría.
  #3 (permalink)  
Antiguo 26/07/2012, 05:58
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 12 años, 3 meses
Puntos: 3
Respuesta: Duda formularios heredados

Hola a todos de nuevo.

Veréis, ayer por la tarde me emperré en diseñar una biblioteca de clases llena de formularios (un formulario para login, otro para el menú principal, otro para las ventanas modales, etc.)

El caso es que compilé el proyecto como biblioteca de clases (es decir, que el resultante fuera un .DLL) para poderlo referenciar en todos los proyectos que quiera.

Ahora bien. Cuando creo un proyecto "Aplicación de Windows Forms" y referencio la DLL que ensamblé ayer, elimino el form1.vb que me crea el proyecto por defecto (porqué, francamente, no me interesa).

Es entonces que, para que el proyecto inicie, creo un module1.vb (con su correspondiente Sub Main() ) para que el programa arranque (usando el metodo application.run(new <nombre formulario>)

Pues bien, no me deja debido que claro, no encuentra el form1.vb. Si voy a Propiedades del proyecto, en "Formulario de inicio" no me aparece el modulo. En cambio, si en vez de "Aplicación de Windows Forms", lo selecciono como "Aplicación de consola", si que me muestra el module1.vb, pero cuando arranca me da error de StackOverFlow, como si tuviera un bucle infinito.

Nunca pensé que la programación por capas (o programación aprovechando el potencial de las POO) fuera tan complicado...

No se si se entiende, la verdad que es un poco lio...

Saludos
  #4 (permalink)  
Antiguo 26/07/2012, 07:53
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 12 años
Puntos: 267
Respuesta: Duda formularios heredados

Hola Fernando_net, una consulta es VB o C#?. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 26/07/2012, 11:19
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 11 años, 2 meses
Puntos: 344
Respuesta: Duda formularios heredados

Buenas,

En propiedades, quita el check en la opción Habilitar marco de trabajo. Con eso debería dejarte elegir el módulo o el procedimiento Main como inicio de la aplicación

[Edito] También puedes crear tus formularios con la opción de Formulario heredado, donde puedes seleccionar de que clase hereda el formulario que quieres crear (que puede ser el tuyo que has creado). La opción aparece al crear Nuevo Elemento -> Formulario Heredado
Saludos.

PD: Aquaventus, esta claro que el lenguaje es VB porque habla de archivos .vb. No debiste verlo bien.

Última edición por alexg88; 26/07/2012 a las 11:33
  #6 (permalink)  
Antiguo 27/07/2012, 13:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 12 años, 3 meses
Puntos: 3
Respuesta: Duda formularios heredados

Hola a todos.

Al final he encontrado una solución a lo que buscaba: He realizado un proyecto del tipo "Control de usuario". Lo bueno es que la salida es del tipo "Biblioteca de clases", con lo que, finalmente, se compila un archivo .DLL

He diseñado un montón de botones, groupbox, etc... Para así poderlos tener para las demás aplicaciones que haga. Solamente tienen código los botones correspondientes a "Salir" (System.windows.forms.application.exit()) y el botón "Cerrar sesión" (System.windows.forms.application.restart())

Ahora solamente lo referenciaré a las otras aplicaciones que haga (y ya me salen los controles propios que he hecho)

Es curioso ver como ha trascendido el tema, de formularios heredados a controles propios jajaja.

Muchas gracias por la ayuda y el conocimiento :)

Saludos

Etiquetas: dialog, herencia, formulario, vbnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:05.