Ayuda con delegate

19/05/2006 - 17:07 por Juan | Informe spam
Saludos grupo, tengo que hacer lo siguiente:

En un form cada que se modifique el valor de un text (CANTIDAD) este en
automatico debe de actualizarse en otro form, pero todo esto lo debo hacer
con una funcion delegate.

Estoy iniciando en C# y en este momento sigo investigando ojala me
puedan ayudar con esto que me esta causando dolor de cabeza.

Gracias, saludos...
 

Leer las respuestas

#1 Alberto Poblacion
19/05/2006 - 17:33 | Informe spam
"Juan" wrote in message
news:
Saludos grupo, tengo que hacer lo siguiente:

En un form cada que se modifique el valor de un text (CANTIDAD) este
en
automatico debe de actualizarse en otro form, pero todo esto lo debo hacer
con una funcion delegate.

Estoy iniciando en C# y en este momento sigo investigando ojala me
puedan ayudar con esto que me esta causando dolor de cabeza.



Primero, al abrir ambos formularios, asegúrate de que el formulario 2
recibe una copia de la instancia del formulario 1, para que puedan
comunicarse entre si:

formulario1 frm1 = new formulario1();
frm1.Show();
formulario2 frm2 = new formulario2(frm1);
frm2.Show();

Para recibir ese parámetro, tendrás que modificar el constructor del
formulario2:
private formulario1 frm1;
public formulario2(formulario1 frm1)
{
this.frm1 = frm1;
//El resto del constructor se deja como estaba
}

Define y publica el delegado, y dispáralo cuando te modifique el textbox
deseado:
public delegate void MiTipoDeDelegado(string texto);
public MiTipoDeDelegado MiDelegado;

private void txtCantidad_Change(...)
{
if (MiDelegado!=null) MiDelegado(txtCantidad.Text);
}

Y desde el segundo formulario, conecta una función al delegado y procesa
los datos cuando se dispare:
private void formulario2_Load(...)
{
frm1.MiDelegado += new formulario1.MiTipoDeDelegado(MiSubrutina);
...
}

private void MiSubrutina(string texto)
{
//Aqui procesamos el texto recibido del formulario 1
}

Preguntas similares