C# 如何在Form1中调用Form2

C# 如何在Form1中调用Form2,c#,C#,我正在做一个有7张表格的商店,表格1是商店的基本表格,上面有图片框和一个文本框,上面写着我应该付多少钱。当我在图片框中单击时,例如在T恤中,它会打开一个新表单,其中包含一些信息和一个按钮,上面写着“添加到购物车”。 基本上,我想点击“添加到购物车”按钮,然后表单2关闭,返回到表单1,在文本框(显示我应该支付多少)中显示值。表单和其他任何对象一样,都是对象,您可以像其他对象一样传递对它们的引用并调用它们的方法 例如,假设您在Form1上公开了一个方法,该方法接受该值并更新UI: public vo

我正在做一个有7张表格的商店,表格1是商店的基本表格,上面有图片框和一个文本框,上面写着我应该付多少钱。当我在图片框中单击时,例如在T恤中,它会打开一个新表单,其中包含一些信息和一个按钮,上面写着“添加到购物车”。
基本上,我想点击“添加到购物车”按钮,然后表单2关闭,返回到表单1,在文本框(显示我应该支付多少)中显示值。

表单和其他任何对象一样,都是对象,您可以像其他对象一样传递对它们的引用并调用它们的方法

例如,假设您在
Form1
上公开了一个方法,该方法接受该值并更新UI:

public void UpdatePayAmount(double amount)
{
    // use the supplied value to update your text box
}
然后,单击“添加到购物车”按钮时,您可能希望从
Form2
调用该方法。比如:

form1Instance.UpdatePayAmount(someAmountValue);
因此,您的
Form2
代码需要在某个变量中引用
Form1
的实例。由于
Form2
现在依赖于
Form1
,因此将该要求放在其构造函数中是一个合理的位置。可能填充一个私有字段:

private Form1 form1Instance;

public Form2(Form1 form1)
{
    form1Instance = form1;
}
现在,创建
Form2
时,需要引用
Form1
的实例,因此当单击按钮时,它可以调用该实例上的方法。因此,当您在
Form1
代码中创建
Form2
时,您将提供该实例:

form2 = new Form2(this);
form2.Show();

欢迎来到SO。请尝试提高问题的清晰度,请参阅。