Ejecutar metodo de Form Padre

23/04/2010 - 21:11 por Limberg | Informe spam
Como se puede ejecutar un metodo del formulario padre desde el formulario
hijo?

Saludos,
Limberg.



__________ Information from ESET NOD32 Antivirus, version of virus signature database 5050 (20100422) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
23/04/2010 - 23:02 | Informe spam
"Limberg" wrote in message
news:
Mostrar la cita
Entiendo que al decir "padre" e "hijo" te refieres a una simple herencia
de clases (NO un formulario "hijo" de un MDI). En ese caso, el formulario
hijo ve el método del padre como si fuera suyo, con la condición de que no
sea "private". Pero si es como mínimo "protected", el hijo lo puede llamar
por su nombre, o si te gusta más, a través del "this":

this.Metodo(argumento);
#2 Limberg
23/04/2010 - 23:16 | Informe spam
Tengo dos formularios, ninguno MDI, desde Form1 llamo al formulario Form2.
En el Form1 hay un metodo CargarGrid()
Desde el Form2 deseo invocar al metodo CargarGrid() del Form1.

Saludos,
Limberg.




"Alberto Poblacion"
escribió en el mensaje news:O%237%
Mostrar la cita
__________ Information from ESET NOD32 Antivirus, version of virus signature database 5050 (20100422) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
#3 Leandro Tuttini
24/04/2010 - 06:03 | Informe spam
hola

hace tiempo arme un articulo con respecto a este tema, por ahi te sea
de utilidad

C# – Comunicar formularios MDI
http://ltuttini.blogspot.com/2009/0...s-mdi.html

C# – Comunicar formularios de forma desacoplada
http://ltuttini.blogspot.com/2009/0...forma.html

como veras si trabjaas com formualarios MDI cambia un poco la
implementacion, pero la tecnica es la misma

saludos
#4 Alberto Poblacion
24/04/2010 - 08:37 | Informe spam
"Limberg" wrote in message
news:
Mostrar la cita
Ah, eso eso es distinto, no son padre e hijo, simplemente has abierto uno
desde el otro. En ese caso lo que necesitas es hacerle llegar al Form2 una
referencia a la instancia del Form1 que lo abrió. Un buen sitio para hacerlo
es en el constructor. Por ejemplo, al abrir el Form2, lo puedes abrir asi:

Form2 f = new Form2(this);
f.Show();

Observa el "this", que es una referencia al formulario que está haciendo la
apertura (el Form1, supuestamente). Este dato hay que recibirlo y guardarlo
en el Form2:

public class Form2:Form
{
private Form1 padre;
public Form2(Form1 padre)
{
InitializeComponent();
this.padre = padre;
}
...
}

Ahora ya, cuando quieras llamar a un método del Form1 desde este Form2,
basta con que lo llames a través de esa referencia "padre" que hemos
guardado en una variable privada:

padre.CargarGrid();

Por supuesto, el método CargarGrid tiene que tener visibilidad suficiente,
por lo que lo tienes que declarar como "public" o al menos "internal".
#5 Limberg
24/04/2010 - 19:25 | Informe spam
Gracias Alberto, e lo que estaba buscando.

Limberg.


"Alberto Poblacion"
escribió en el mensaje news:%
Mostrar la cita
__________ Information from ESET NOD32 Antivirus, version of virus signature database 5050 (20100422) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
Ads by Google
Search Busqueda sugerida