Ya intente crear la variable global pero sigue igual, pero cierto me puse a pensar al crear el objeto cuando se cierra se desecha y por decirlo no existe mas ese objeto o "datos", lo que quiero tener del form2 al form1 no me explique mucho cuando plantee el post pero ahora si espero hacerlo
-Se abre primero que nada el Form1 donde tengo un arreglo vació sin declarar el tamaño
-Doy click a un botón se me abre el Form2(el form1 siempre se mantiene abierto)
-Lleno un arreglo con datos en el form2
-Cierro el form2 y al momento del evento(en que se cierra) quiero que el arreglo del form1 se llene con los datos del arreglo del form2, y utilizar o monstrar datos del arreglo.
en si sería Como pasar datos de un form a otro.
Ambos arreglos son globales y publicos.
A ver, creo que no me explique bien, necesitas entender algunos conceptos de POO. Form1 y Form2 son simplemente dos clases como cualquier otras y para poder compartir variables entre ellas tienes que usar las reglas de POO.
1- Una de ellas seria la que te dije anteriormente, crearte una variable publica y estática en Form1:
public partial class Form1 : Form
{
public static string[] strArray;
}
Luego simplemente usas la variable desde Form2 como:
for (int i = 0; i < Form1.strArray.Length; i++)
Form1.strArray[i] = this.miarregloenvio[i];
2- Crearte una variable publica en Form1 con acceso de lectura y escritura (Properties o Get/Set). Crear una variable de tipo Form1 en la clase Form2 para de esta forma tener la instancia de Form1 en el ambito del Form2. Dicha instancia la puedes pasar mediante un parametro al constructor de Form2 o mediante cualquier otro método.
public partial class Form1 : Form
{
private string[] strArray;
public string[] StrArray
{
get { return strArray; }
set { strArray= value; }
}
// dentro de tu funcion
Form2 frm2
= new Form2
(this);}
public partial class Form2 : Form
{
private Form1 frm1;
public Form2(Form1 pfrm1)
{
InitializeComponent();
this.frm1 = pfrm1;
}
// Dentro de tu funcion
if(frm1.StrArray == null)
frm1
.StrArray = new string[SIZE
]; for (int i = 0; i < frm1.StrArray.Length; i++)
frm1.StrArray[i] = this.miarregloenvio1[i];
}
3- Usa tu imaginación, existen muchas formas de lograrlo