trabajo entre dos formularios

28/11/2005 - 18:26 por luis | Informe spam
Tengo un método en un formulario 1 donde quiero crear unas variables
locales. Luego llamar al formulario2 en modo modal y que al acabar este (no
al acabar de ejecutarse el constructor del formulario2, sino cuando se pulse
un botón cerrar) las variables locales se llenen con los datos introducidos
en el formulario dos (por ejemplo en unos textboxs). ¿Como se puede hacer?.
Las variables quiero que sean locales y no crear campos ni clases con ellas
(si es posible)

Preguntas similare

Leer las respuestas

#1 Dario R. Ayala
28/11/2005 - 18:58 | Informe spam
Podrias crear un evento en el formulario 2 que se dispare al pulsar el botón
cerrar y extendiendo la clase eventArgs agregandole estos valores para poder
capturarlos en el formulario 1. Se entiende? sino avisame y te armo un
ejemplo.
Saludos

Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas

"luis" wrote in message
news:
Tengo un método en un formulario 1 donde quiero crear unas variables
locales. Luego llamar al formulario2 en modo modal y que al acabar este
(no al acabar de ejecutarse el constructor del formulario2, sino cuando se
pulse un botón cerrar) las variables locales se llenen con los datos
introducidos en el formulario dos (por ejemplo en unos textboxs). ¿Como se
puede hacer?. Las variables quiero que sean locales y no crear campos ni
clases con ellas (si es posible)



Respuesta Responder a este mensaje
#2 luis
29/11/2005 - 12:52 | Informe spam
Si me pones un ejemplo mejor. Gracias

"Dario R. Ayala" escribió en el mensaje
news:
Podrias crear un evento en el formulario 2 que se dispare al pulsar el
botón cerrar y extendiendo la clase eventArgs agregandole estos valores
para poder capturarlos en el formulario 1. Se entiende? sino avisame y te
armo un ejemplo.
Saludos

Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas

"luis" wrote in message
news:
Tengo un método en un formulario 1 donde quiero crear unas variables
locales. Luego llamar al formulario2 en modo modal y que al acabar este
(no al acabar de ejecutarse el constructor del formulario2, sino cuando
se pulse un botón cerrar) las variables locales se llenen con los datos
introducidos en el formulario dos (por ejemplo en unos textboxs). ¿Como
se puede hacer?. Las variables quiero que sean locales y no crear campos
ni clases con ellas (si es posible)







Respuesta Responder a este mensaje
#3 Dario R. Ayala
29/11/2005 - 15:41 | Informe spam
Esto sería mas o menos asi:
Tengo 2 formularios llamados form1 y form2 (para ser original), en form1
tengo 2 labels y un boton, el boton llama al formulario 2 creando una
instancia del mismo y asigna el evento OnClose definido por mi a un método
según el siguiente código:

private void cmdFormulario_Click(object sender, System.EventArgs e)

{

Form2 f2 = new Form2();

f2.OnClose +=new EventHandler(f2_OnClose);

f2.Show();


}

private void f2_OnClose(object sender, EjemploEventArgs e)

{

label1.Text = e.variableA.ToString();

label2.Text = e.variableB.ToString();

}

Esto es todo el código que tengo en el form1, entonces cmdFormulario es mi
botón, la hacer click en el creo una instancia de form2 llamada f2 y le digo
que el evento OnClose va a llamar al método f2_OnClose, acá vemos que este
método recibe como parametro un objecto del tipo EjemploEventArgs que
detallo más adelante. Acá simplemente cargo en los label el contenido de 2
propiedades llamadas variableA y variableB que se encuentran en el parametro
e del tipo EjemploEventArgs que me envía el evento.
Pasando al formulario 2 tengo el siguiente código agregado por mi:

public event EventHandler OnClose;

private void cmdClose_Click(object sender, System.EventArgs e)

{

EjemploEventArgs earg = new EjemploEventArgs();

earg.variableA = Convert.ToInt32(textBox1.Text);

earg.variableB = Convert.ToInt32(textBox2.Text);

OnClose(this, earg);

}

Acá dentro de la clase form2 declaro el evento llamado OnClose y agrego
código al evento click del botón cmdClose, lo que hago aqui es sencillo
también, declaro una variable earg del tipo EjemploEventArgs y le asigno a
la propiedades variableA y variableB el contenido de los textboxes, por
último disparo el evento pasando como parametros el formulario y la variable
que acabo de declarar.
Por último incluyo el código de la clase EjemploEventArgs que hereda de
EventArgs y la extiendo con las variables que quiero pasar al otro
formulario y la declaración del delegado para manejar el evento.

public delegate void EventHandler(object sender, EjemploEventArgs e);

public class EjemploEventArgs: EventArgs

{

private int _a;

private int _b;

public int variableA

{

get{return _a;}

set{_a = value;}

}

public int variableB

{

get{return _b;}

set{_b = value;}

}

}

Espero que se entienda, si te hace falta te envio el proyecto de ejemplo a
tu privado.
Saludos


Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas



"luis" wrote in message
news:%
Si me pones un ejemplo mejor. Gracias

"Dario R. Ayala" escribió en el mensaje
news:
Podrias crear un evento en el formulario 2 que se dispare al pulsar el
botón cerrar y extendiendo la clase eventArgs agregandole estos valores
para poder capturarlos en el formulario 1. Se entiende? sino avisame y te
armo un ejemplo.
Saludos

Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas

"luis" wrote in message
news:
Tengo un método en un formulario 1 donde quiero crear unas variables
locales. Luego llamar al formulario2 en modo modal y que al acabar este
(no al acabar de ejecutarse el constructor del formulario2, sino cuando
se pulse un botón cerrar) las variables locales se llenen con los datos
introducidos en el formulario dos (por ejemplo en unos textboxs). ¿Como
se puede hacer?. Las variables quiero que sean locales y no crear campos
ni clases con ellas (si es posible)











Respuesta Responder a este mensaje
#4 Dario R. Ayala
29/11/2005 - 15:42 | Informe spam
Esto sería mas o menos asi:
Tengo 2 formularios llamados form1 y form2 (para ser original), en form1
tengo 2 labels y un boton, el boton llama al formulario 2 creando una
instancia del mismo y asigna el evento OnClose definido por mi a un método
según el siguiente código:

private void cmdFormulario_Click(object sender, System.EventArgs e)

{

Form2 f2 = new Form2();

f2.OnClose +=new EventHandler(f2_OnClose);

f2.Show();


}

private void f2_OnClose(object sender, EjemploEventArgs e)

{

label1.Text = e.variableA.ToString();

label2.Text = e.variableB.ToString();

}

Esto es todo el código que tengo en el form1, entonces cmdFormulario es mi
botón, la hacer click en el creo una instancia de form2 llamada f2 y le digo
que el evento OnClose va a llamar al método f2_OnClose, acá vemos que este
método recibe como parametro un objecto del tipo EjemploEventArgs que
detallo más adelante. Acá simplemente cargo en los label el contenido de 2
propiedades llamadas variableA y variableB que se encuentran en el parametro
e del tipo EjemploEventArgs que me envía el evento.
Pasando al formulario 2 tengo el siguiente código agregado por mi:

public event EventHandler OnClose;

private void cmdClose_Click(object sender, System.EventArgs e)

{

EjemploEventArgs earg = new EjemploEventArgs();

earg.variableA = Convert.ToInt32(textBox1.Text);

earg.variableB = Convert.ToInt32(textBox2.Text);

OnClose(this, earg);

}

Acá dentro de la clase form2 declaro el evento llamado OnClose y agrego
código al evento click del botón cmdClose, lo que hago aqui es sencillo
también, declaro una variable earg del tipo EjemploEventArgs y le asigno a
la propiedades variableA y variableB el contenido de los textboxes, por
último disparo el evento pasando como parametros el formulario y la variable
que acabo de declarar.
Por último incluyo el código de la clase EjemploEventArgs que hereda de
EventArgs y la extiendo con las variables que quiero pasar al otro
formulario y la declaración del delegado para manejar el evento.

public delegate void EventHandler(object sender, EjemploEventArgs e);

public class EjemploEventArgs: EventArgs

{

private int _a;

private int _b;

public int variableA

{

get{return _a;}

set{_a = value;}

}

public int variableB

{

get{return _b;}

set{_b = value;}

}

}

Espero que se entienda, si te hace falta te envio el proyecto de ejemplo a
tu privado.
Saludos


Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas


"luis" wrote in message
news:%
Si me pones un ejemplo mejor. Gracias

"Dario R. Ayala" escribió en el mensaje
news:
Podrias crear un evento en el formulario 2 que se dispare al pulsar el
botón cerrar y extendiendo la clase eventArgs agregandole estos valores
para poder capturarlos en el formulario 1. Se entiende? sino avisame y te
armo un ejemplo.
Saludos

Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas

"luis" wrote in message
news:
Tengo un método en un formulario 1 donde quiero crear unas variables
locales. Luego llamar al formulario2 en modo modal y que al acabar este
(no al acabar de ejecutarse el constructor del formulario2, sino cuando
se pulse un botón cerrar) las variables locales se llenen con los datos
introducidos en el formulario dos (por ejemplo en unos textboxs). ¿Como
se puede hacer?. Las variables quiero que sean locales y no crear campos
ni clases con ellas (si es posible)











Respuesta Responder a este mensaje
#5 luis
29/11/2005 - 16:02 | Informe spam
gracias

"Dario R. Ayala" escribió en el mensaje
news:
Esto sería mas o menos asi:
Tengo 2 formularios llamados form1 y form2 (para ser original), en form1
tengo 2 labels y un boton, el boton llama al formulario 2 creando una
instancia del mismo y asigna el evento OnClose definido por mi a un método
según el siguiente código:

private void cmdFormulario_Click(object sender, System.EventArgs e)

{

Form2 f2 = new Form2();

f2.OnClose +=new EventHandler(f2_OnClose);

f2.Show();


}

private void f2_OnClose(object sender, EjemploEventArgs e)

{

label1.Text = e.variableA.ToString();

label2.Text = e.variableB.ToString();

}

Esto es todo el código que tengo en el form1, entonces cmdFormulario es mi
botón, la hacer click en el creo una instancia de form2 llamada f2 y le
digo
que el evento OnClose va a llamar al método f2_OnClose, acá vemos que este
método recibe como parametro un objecto del tipo EjemploEventArgs que
detallo más adelante. Acá simplemente cargo en los label el contenido de 2
propiedades llamadas variableA y variableB que se encuentran en el
parametro
e del tipo EjemploEventArgs que me envía el evento.
Pasando al formulario 2 tengo el siguiente código agregado por mi:

public event EventHandler OnClose;

private void cmdClose_Click(object sender, System.EventArgs e)

{

EjemploEventArgs earg = new EjemploEventArgs();

earg.variableA = Convert.ToInt32(textBox1.Text);

earg.variableB = Convert.ToInt32(textBox2.Text);

OnClose(this, earg);

}

Acá dentro de la clase form2 declaro el evento llamado OnClose y agrego
código al evento click del botón cmdClose, lo que hago aqui es sencillo
también, declaro una variable earg del tipo EjemploEventArgs y le asigno a
la propiedades variableA y variableB el contenido de los textboxes, por
último disparo el evento pasando como parametros el formulario y la
variable
que acabo de declarar.
Por último incluyo el código de la clase EjemploEventArgs que hereda de
EventArgs y la extiendo con las variables que quiero pasar al otro
formulario y la declaración del delegado para manejar el evento.

public delegate void EventHandler(object sender, EjemploEventArgs e);

public class EjemploEventArgs: EventArgs

{

private int _a;

private int _b;

public int variableA

{

get{return _a;}

set{_a = value;}

}

public int variableB

{

get{return _b;}

set{_b = value;}

}

}

Espero que se entienda, si te hace falta te envio el proyecto de ejemplo a
tu privado.
Saludos


Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas


"luis" wrote in message
news:%
Si me pones un ejemplo mejor. Gracias

"Dario R. Ayala" escribió en el mensaje
news:
Podrias crear un evento en el formulario 2 que se dispare al pulsar el
botón cerrar y extendiendo la clase eventArgs agregandole estos valores
para poder capturarlos en el formulario 1. Se entiende? sino avisame y
te armo un ejemplo.
Saludos

Dario R. Ayala

Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas

"luis" wrote in message
news:
Tengo un método en un formulario 1 donde quiero crear unas variables
locales. Luego llamar al formulario2 en modo modal y que al acabar este
(no al acabar de ejecutarse el constructor del formulario2, sino cuando
se pulse un botón cerrar) las variables locales se llenen con los datos
introducidos en el formulario dos (por ejemplo en unos textboxs). ¿Como
se puede hacer?. Las variables quiero que sean locales y no crear
campos ni clases con ellas (si es posible)















email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida