从没有引用的表单创建对象

可能重复:
在C#中克隆对象

我的代码:

private void button1_Click(object sender, EventArgs e)
{
    CopyForm(new Form1());
}

public void CopyForm(Form form)
{
    Form frm = form;
    frm.Text = "1";
    form.Text = "2";

    string c = frm.Text;// out 2
    string c2 = form.Text;// out 2
}

如何从表单创建对象without Ref

请给我看看最好的方法。

编辑:

请抽样。


您可以使用复制构造函数或使用ICloneable的克隆方法来复制表单。

下面给出了一个复制构造函数的简单示例。您需要创建自己的表单类并向其添加copyConstructor方法。

class MyClonableForm:Form
{

public MyClonableForm(Form oldForm)//Copy Constructor
{
this.Text=oldForm.Text;
//write your clone code here
//be careful with reference types!
}

}

注意

不建议使用ICloneable接口,因为它没有指定执行的克隆类型,即深度或浅度。

如果你确实想要使用它,你可以但不公开公开的方法克隆。使用它为你自己的目的!

链接地址: http://www.djcxy.com/p/40777.html

上一篇: create object from Form without Ref

下一篇: Create deep copy of object