每当 Form1 文本框值更改时,在 Form2 上执行 Form2 方法

Execute a Form2 method on Form2, whenever Form1 textBox value is changed

我想要我的 "main form" 中的一个 "baby" 表单自我更新,每当我的主表单发生更改时,让我们用示例来说明这一点:

我的"baby"表格:

  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 window。 我想做的是,每当 Form1 textBox 值更改时,将执行写在 Form2 中的 method,从而更新我的 Form2 window.

它应该表现得像 "refresh"。

这种事情有可能吗?

我不是很精通partial-类和表单交互,所以如果这很容易做,我很抱歉。

  1. 在主表单中创建 'baby' 表单全局变量

    public partial class Form1 : Form {
    Ventoemparedes mostra; ...

  2. 在 'baby' 表单上添加 public 方法 TextBoxFromMainChange 并在内部调用 method1

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

  3. 最后在主窗体上的文本框更改调用'baby'窗体方法TextBoxFromMainChange

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