none
Llamar a metodo desde form2 en form1 c# RRS feed

  • Pregunta

  • Buenas, voy al grano, tengo en el form1 lo siguiente:

    public void update()

    {

    blabla

    }

    y en el form2 intento lo siguiente:

    Form1 form1 = new Form1();

    form1.update();

    Lo que no entiendo es por qué no ejecuta la función..... no tengo ni errores, ni warnings.... ideas?



    • Editado kicksuma viernes, 13 de julio de 2012 15:52
    viernes, 13 de julio de 2012 15:36

Todas las respuestas

  • no puedes usar el new porque no invocarias a la instancia existente, estarias creando otra

    usa

    Comunicar formularios de forma desacoplada

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 13 de julio de 2012 16:43
  • Eso no se puede hacer instanciar un formulario y dentro de esa instancia luego pasarle ese metodo

    Lo que si puedes hacer es esto :

    public void update()

    {

    blabla

    }

    y en el form2 intento lo siguiente:

    Form1 form1 = new Form1();

    form1.ShowDialog(); \\ activas el metodo show del form1

    si quieres pasar el metodo update porque no se lo pasas a un control ejemplo puede ser a un boton..

    Suerte..


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Me ha servido como ayuda"

    viernes, 13 de julio de 2012 16:50
  • Gracias lo solucione de la siguiente manera:

    1) FORM1

    namespace test_1_sharp
    {
        public partial class Form1 : Form
        {

             public void update()
             {

                        //codigo

              }

             private void button1_Click(object sender, EventArgs e)
             {
                       Form2 form2 = new Form2();
                       form2.Show(this);
               
              }

        }

    }

    2) FORM 2

    namespace test_1_sharp
    {
        public partial class Form2 : Form
        {

            private void button2_Click(object sender, EventArgs e)
            {

                    Form1 formInterface = this.Owner as Form1;
                    if(formInterface != null)
                         formInterface.update();

             }

        }

    }


    • Editado kicksuma martes, 17 de julio de 2012 9:21
    martes, 17 de julio de 2012 9:18