acceder desde FormSecundario a FormPrincipal

sebas
17 de Febrero del 2005
Hola, estoy en M. Visual C# .NET

tengo una aplicación compuesta de un formulario principal desde el que se pueden hacer ciertas operaciones en formularios secundarios).

El problema que tengo es cómo acceder desde un formulario secundario a los atributos del formulario principal.

Desde el Form principal puedo (lo sé hacer) acceder a los atributos (públicos) de los Form secundarios mediante las instancias de éstos (formularios secundarios).

FormSecundario instancia = new FormSecundario();
instancia.AtributoDelSecundario=2; ....


El problema es cuando en un formulario secundario quiero utilizar datos del formulario principal. Por ejemplo: representar en un Form secundario un ListView con los datos de una colección (ArrayList) de un cierto tipo de Objetos que está en el Form principal.
Hasta ahora, el "truco" que usaba era el siguiente: en el constructor del Form secundario le ponia el atributo que necesitaba, y así, de esta forma, cuando invocase (desde FormPrincipal) una instancia del Form secundario le podría pasar como parametro del constructor el atributo que necesitara manipular. Pero esto sólo funciona si sólo voy a leer datos, (no modificarlos).


Pero creo que tiene que haber alguna forma "menos chabacana" para solucionar este problema, ya además de leer dichos atributos, los necesito modificar.

Resumiendo... necesito por ejemplo:
Deseo borrar por ejemplo desde un Form secundario, un object de un ArrayList que está en el Form principal... ¿Cómo lo hago?


kaz
17 de Febrero del 2005
Tienes un par de amneras de conseguir eso:

- Haciendolo igual como haces hasta ahora pasando los datos en el constructor, pero pasalos por referencia

- Crea unas propiedades de lectura/escritura en los formularios secundarios