在C#中动态复制已配置的富文本框?

时间:2018-02-07 02:51:27

标签: c#

在C#中,是否可以动态创建一个富文本框,使用多个属性(字体,大小等)配置该框,然后动态创建那个框的副本,以便新创建的重复项已经拥有所需的属性?我来自VB6(不要笑),控制阵列使这种事情变得容易。我在这里和其他地方寻找答案,但没有运气。

感谢。

1 个答案:

答案 0 :(得分:2)

理论上,是的,你可以,但你必须克隆它。 C#提供了一种方法,但它可能会进行浅层克隆。您需要对所有级别进行深入而完整的克隆。

创建工厂功能更容易,也更好。您调用它并创建一个新控件,设置属性,然后返回完全初始化的对象。像这样:

public RichTextBox RichTextBoxFactory() {
    RichTextBox rb = new RichTextBox();
    rb.FontFamily = new FontFamily("Arial");
    //...
    return rb;
}

然后你这样称呼它:

RichTextBox rb1 = RichTextBoxFactory();
RichTextBox rb2 = RichTextBoxFactory();

将它变成一个类而不是公共函数可能是有益的。这样你可以调用函数Create(),你可以这样调用它:

RichTextBox rb1 = RichTextBoxFactory.Create();
RichTextBox rb2 = RichTextBoxFactory.Create();