如何将对象从Form1传递到Form2,然后再传递回Form1?

在决定问这个问题之前,我已经对这个问题做了一些研究。我只是找不到任何可以帮助我的东西。

我正在用C#编写紧凑框架2.0的应用程序。

我需要获取在form1上实例化的数据对象,并将该对象传递给form2。在form2中处理数据对象,然后将该数据传递回form1,以便可以保存它。

我了解表单只是一个对象,我也了解对象是通过引用而不是值来实现的。我也了解两种类型之间的区别。由于某种原因,我无法使其正常工作。

什么是实现这一目标的最佳,最简洁的方法?

回答:

您需要做的是在第二个窗体中创建第二个构造函数,该构造函数接受一个对象作为参数…就我所关心的而言,它可能是整个Form1对象实例,然后您可以从中获取任何内容。将该对象保留为第二种形式,然后根据需要进行修改。完成第二个表单后,第一个表单将具有该数据,并且在第二个表单关闭后,您可以执行任何“刷新”操作。

public partial class YourSecondForm : Form

{

object PreserveFromFirstForm;

public YourSecondForm()

{

... its default Constructor...

}

public YourSecondForm( object ParmFromFirstForm ) : this()

{

this.PreserveFromFirstForm = ParmFromFirstForm;

}

private void YourSecondFormMethodToManipulate()

{

// you would obviously have to type-cast the object as needed

// but could manipulate whatever you needed for the duration of the second form.

this.PreserveFromFirstForm.Whatever = "something";

}

}

以上是 如何将对象从Form1传递到Form2,然后再传递回Form1? 的全部内容, 来源链接: utcz.com/qa/408785.html

回到顶部