在决定提出这个问题之前,我已经对这个问题做了一些研究。我只是找不到任何对我有帮助的东西。
我正在用 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";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15716 次 |
| 最近记录: |