Как вызвать функцию формы окна из события другой формы окна? - PullRequest
1 голос
/ 17 июля 2010

Я разрабатываю приложение для Windows в .net.

У меня есть две формы.Form2 создается и отображается, когда событие происходит в form1.

public partial class Form1 : Form
{
    ...
    private void button1_Click(object sender, EventArgs e)
    {
       .... 
    }
    public void button2_Click(object sender, EventArgs e)   
    {
      Form2.parent = this;

      Form2 f2 = new Form2();

      f2.show();
    }

}

public partial class Form2 : Form
{
    ...
    public static Form parent;
    private void button3_Click(object sender, EventArgs e)
    {
       .... //want to call Form1's button1_Click() function.
    }

}

Теперь в функции button3_Click () в Form2 я хочу вызвать метод button1_Click () в Form1.

Я пытался

parent.button1_Click(button3,null);

но это не работает.

, пожалуйста, помогите!

1 Ответ

3 голосов
/ 17 июля 2010

Вам нужно объявить parent как тип Form1, а не Form.

Я бы лично поместил его в конструктор, вместо того, чтобы иметь его в качестве публичной статической переменной:

public partial class Form1 : Form
{
    public void button2_Click(object sender, EventArgs e)   
    {
      Form2 f2 = new Form2(this);
      f2.show();
    }
}

...

public partial class Form2 : Form
{
    Form1 parent;

    public Form2(Form1 parent)
    {
        this.parent = new parent;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...