【发布时间】:2016-07-21 05:48:19
【问题描述】:
我有一个 Windows 窗体。如果用户未选中复选框,则稍后按下一步时会打开一个新表单,但如果他们选择了它,则会使用相同的表单。
如果他们选中复选框,我希望出现当前表单的克隆(具有相同的变量和控制值),以便他们稍后可以更改值而无需取消选中复选框,然后再次按下一步,然后手动输入其他值。 Form duplicate = this; 只是引用相同的形式,没有 new(this) 这样的东西。
我无法尝试 Form duplicate = new Form() = this,因为我的表单采用了早期表单的构造函数
任何人都知道如何做到这一点?提前致谢
【问题讨论】:
-
您是否有许多需要克隆的状态变量?克隆整个表单层次结构(控件、子元素和事件)对我来说似乎是一团糟,我建议你不要这样做。如果您要克隆 5 到 10 个控件的状态,最好坚持使用针对这些特定控件执行此操作的方法。
-
什么方法用它们的值克隆控件(我只想复制
.text的值) -
例如检查
CheckBoxes? -
您可以在表单中添加第二个构造函数,您可以在其中传递您需要的值。
-
如何创建一个包含所有变量和所有文本框的
.text值的数组
标签: c# winforms reflection