SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: DarkSlash en Sábado 29 de Septiembre de 2007, 22:12

Título: Toolstrip Público En Un Form Heredado?
Publicado por: DarkSlash en Sábado 29 de Septiembre de 2007, 22:12
Tengo un formulario ABM y lo heredo a formularios ABMs en particular (por ejemplo, ABM docente, ABM alumnos, etc, todos heredan del form ABM). El problema es que en ese form ABM tengo una barra ToolStrip. Cada ABM en particular tiene diferentes acciones en cada uno de esos botones, pero, aunque pongo la propiedad Modifiers en PUBLIC en la ToolStrip y en cada uno de los botones (y reconstruyo la solución), no puedo modificar ni las propiedades ni el código de esta ToolStrip en los ABM Particulares! ¿Qué debería hacer?
Título: Re: Toolstrip Público En Un Form Heredado?
Publicado por: Knight Lore en Sábado 29 de Septiembre de 2007, 23:12
Entiendo que estas usando vs.net 2005, y si es asi y hasta donde se no hay forma  de modificar ciertos controles desde el editor de formularios (si desde codigo).
Segun lei en su momento,  parece ser que la gente de Micro$oft tuvo muchos problemas con el famoso "visual inheritance" y en algunos controles (especialmente en los que poseen colecciones) decidio simplemente bloquear la edicion   <_<
La unica forma de encontre de sortear este problema, es crear un form base con todo el codigo que necesites pero sin los controles no editables, y luego crear uno heredado de este, agregarle los toolstrip etc. y guardarlo como template, desde el cual luego simplemente se crean los que necesites pero sin el bloqueo. No es lo ideal pero te puede servir.
Título: Re: Toolstrip Público En Un Form Heredado?
Publicado por: DarkSlash en Sábado 29 de Septiembre de 2007, 23:18
Sí, estoy usando Visual Studio .NET 2005.
Fuck, espero que ese no sea el problema y que alguien tenga una solución! :'(
Título: Re: Toolstrip Público En Un Form Heredado?
Publicado por: DarkSlash en Domingo 30 de Septiembre de 2007, 22:04
Ya encontré la solución:

1) Se le pone la propiedad Modifier en Public tanto en el menú como en cada uno de los botones y se reconstruye la solución.

2) Se clicka dos veces en un botón en el formulario padre, para que aparezca el código del boton en el evento click.

3) Cortamos ese código y lo pegamos en el formulario heredado.

4) Escribimos lo que queremos que haga ese botón, guardamos, ejecutamos, y funciona!
Título: Re: Toolstrip Público En Un Form Heredado?
Publicado por: Knight Lore en Domingo 30 de Septiembre de 2007, 23:25
Tal como habia dicho, se puede hacer todo por codigo sin problemas.
Si lo unico que necesitabas era manejar el evento click podrias tambien hacerlo desde dentro del editor con los combos superiores, o escribiendo el sub con los parametros correctos y poniendo el "Handles" al final indicando el evento del boton, o desde el form mismo accediendo a la parte de eventos en las propiedades.