启动对象后如何以第二种形式将值传递给文本框

How to passing value to textbox in second form when object has been launched

我用 C# 在 winforms 中创建项目。

我有两种形式。使用 Show() 和 midiContainer 打开。

示例:

我打开 Form1,其中有例如。包含有关客户(名称公司)数据的文本框。我从第二个 Form2 中选择了 Customer。我从网格中分离出价值。我有这个数据。我无法将值传递给第一个 Form1。

我想首先启动Form1。如何将值从第二种形式传递到第一种形式?

我试过使用反射。不幸的是,没有解决问题。

使用 ShowDialog() 时不会出现此问题。

您可以将 Form1 传递给 Form2 的构造函数。一个简单的实际例子:

// On Form 1
private void Form1_Load(object sender, EventArgs e)
{
    var frm = new Form2(this); // bein
    frm.Show();
}

public void GetValue(string Text)
{
    // Do something
}

// On Form2
private Form1 Form;
public Form2(Form1 form)
{
   InitializeComponent();
   this.Form1 = form;
   this.Form1.GetValue("Hi");
}