我正在构建一个 Windows Forms C# 中的表单,面板中的各种元素一开始不可见、禁用或设置为 null(标签、组合框、网格等)。当用户浏览并做出选择时,这些元素将被填充、选择等。
这个想法是上传文件、读取文件并将条目处理到数据库中。对该目录的处理完成后,我希望能够让用户选择另一个目录,而无需退出并重新启动 Windows 窗体应用程序,方法是按下处理完成后变得可见的按钮。
是否有一个简单的调用来重置应用程序(或包含元素的面板),类似于刷新网络表单时,或者我是否必须编写一个一次“重置”所有这些元素的函数?
结语:作为开发 session 的结果,我的项目改变了方向。我感谢两位帮助回答的人,我将结束这个问题。
最佳答案
只需从表单中删除面板并创建新面板即可。
示例:
Panel CreatePanelWithDynamicControls() {
Panel ret = new Panel();
ret.Dock = DockStyle.Fill;
// Some logic, which initializes content of panel
return ret;
}
void InitializeDynamicControls() {
this.Controls.Clear();
Panel pnl = this.CreatePanelWithDynamiControls();
this.Controls.Add(pnl);
}
void Form1_Load(object sender, EventArgs e) {
if (!this.DesignMode) {
this.InitializeDynamicControls();
}
}
// I don't know exactly, on which situation
// do you want reset controls
void SomeEvent(object sender, EventArgs e) {
this.InitializeDynamicControls();
}
关于c# - 将 Windows 窗体表单的元素重置为初始化状态 (C#/.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/337649/