【发布时间】:2010-12-01 12:38:42
【问题描述】:
我有一个带有一些子控件的 Windows 窗体容器控件(例如,组框或面板)。现在我想复制/克隆这个容器控件,以便在运行时获得它的精确副本。我怎样才能用 C# 实现这一点?
我想做这样的事情:
GroupBox groupNewBox;
groupBox1.CloneTo(groupNewBox);
【问题讨论】:
我有一个带有一些子控件的 Windows 窗体容器控件(例如,组框或面板)。现在我想复制/克隆这个容器控件,以便在运行时获得它的精确副本。我怎样才能用 C# 实现这一点?
我想做这样的事情:
GroupBox groupNewBox;
groupBox1.CloneTo(groupNewBox);
【问题讨论】:
嗨 复制对象的唯一方法是实现 IClonable 接口。但据我所知,windows控件没有实现这个接口,所以你应该创建自己的conrtols,从容器和子控件派生出来,实现IClonable接口。
【讨论】:
用这样的函数实现ICloneable:
public class NewClass, ICloneable
{
public object Clone()
{
return MemberwiseClone();
}
}
【讨论】: