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

时间:2017-08-02 22:30:50

标签: c# controls panel

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

1 个答案:

答案 0 :(得分:2)

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

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

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

我不建议这样做。最好的方法是编写自己的方法,逐个按照您希望的方式设置属性。有时候你得写代码。