C#:重置面板中的控件 (WinForms)



将面板内的所有Controls重置为其初始状态(编译时状态(的快速方法是什么?我有TextBoxesRadioButtonsComboBoxesCheckBoxes要重置。我希望它们重置为程序首次运行时的值。我想要一个不涉及循环或递归的解决方案,主要是因为我不想在开始一个新项目时重新实现同样的事情。我只是找到一组方法来调用来完成这项工作。有吗?

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

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

唯一的问题是InitializeComponent也会连接事件,您可能不想这样做两次。您可以通过在调用之前取消注册所有事件,或者在之后删除重复的调用列表来解决此问题(请参阅此答案(。

我不推荐任何这些。最好的方法是编写自己的方法,以所需的方式逐个设置属性。有时你必须写代码。

最新更新