每当Form1 textBox值更改时,在Form2上执行Form2方法

时间:2015-04-22 13:43:28

标签: c# winforms partial-classes

我想从我的“主要形式”中获得一个“宝贝”形式来更新自己,每当我的主要形式改变某些东西时,让我们用例子说明这一点:

我的“宝贝”形式:

  public partial class Ventoemparedes : Form
{
    private Form1 Opener { get; set; }


    public Ventoemparedes(Form1 opener)
    {
      Initializecomponent();

      //stuff i wanna do whenever Form1 textBox.Text changes
      method1();
    }

    private void method1()
    { //does stuff
    }
}

我的主要形式:

public partial class Form1 : Form
{
  public Form1()
    {
      InitializeComponent();
    }

   private void textBox1_TextChanged(object sender, EventArgs e)
    {
        //execute method1 on Ventoemparedes somehow???
    }

    private void button1_Click(object sender, EventArgs e)
    {

        Ventoemparedes mostra = new Ventoemparedes(this);
        mostra.ShowDialog();

    }
}

Form1上我有一个button和一个textBoxbutton会显示Form2窗口。 我想做的是,每当Form1 textBox值发生变化时,method中写的Form2将被执行,从而更新我的Form2窗口。

它应该像“刷新”一样。

这样的事情是否可能远远可能?

我不太熟悉部分类和表单交互,所以如果这很容易,我会道歉。

1 个答案:

答案 0 :(得分:2)

  1. 在主窗体中制作“宝贝”形式的全局变量

      

    公共部分类Form1:表单       {
                 Ventoemparedes mostra;          ...

  2. 在'baby'表单中添加公开方法TextBoxFromMainChange和内部通话method1

      

    public void TextBoxFromMainChange()       {           this.method1();       }

  3. 最后在文本框的主要表单中更改调用'baby'表单方法TextBoxFromMainChange

      

    private void textBox1_TextChanged(object sender,EventArgs e){       mostra.TextBoxFromMainChange(); }