2017-08-02 151 views
0

什么是将面板内所有Controls重置为其初始状态(编译时状态)的快速方法?我有TextBoxesRadioButtons,ComboBoxesCheckBoxes重置。我希望他们在程序第一次运行时重置为值。我想要一个不包含循环或递归的解决方案,主要是因为我不想在重新启动新项目时重新执行相同的操作。我只是找到一套方法来完成这项工作。有没有?C#:重置面板中的控件(WinForms)

+1

例如,什么是TextBox的“初始状态”?你只是想清除文本,或者你想重置它的所有属性为默认值? 与其他控件一样吗? – Sach

+0

这听起来像是你要求一个abracadabra魔法代码。 – LarsTech

+0

Winforms? WPF? MVC?也许只是摧毁表格并显示一个新的实例? –

回答

2

您的控件没有编译时状态,因为状态是运行时的概念。

我想你的意思是你想控制重新初始化为状态,如你的属性表上所示。该状态由位于InitializeComponent中的生成代码应用,因此要重新应用该状态,可以再次调用它。

唯一的问题是InitializeComponent也连线事件,你可能不想这样做两次。您可以通过在调用它之前取消注册所有事件,或通过重复删除调用列表(请参阅this answer)解决此问题。

我不推荐任何这个。最好的方法是编写你自己的方法,按照你想要的方式逐个设置属性。有时候你必须写代码。

+0

_有时你必须写代码._很好。 – TaW