Yuk*_*uya 10 c# reset winforms
我想知道,有没有办法可以将所有复选框,文本框,数字和其他控件重置为默认值,而无需单独为每个控件编写代码?这是我尝试过的代码,但似乎不起作用:
for (int i = 0; i < this.Controls.Count; i++)
{
this.Controls[i].ResetText();
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我已通过手动设置控制值修复它,抱歉所有的麻烦>.<.
Pra*_*ana 11
如下所示创建类并像这样调用它
检查:使用C#重置Windows窗体中的所有控件(Textbox,ComboBox,CheckBox,ListBox)
private void button1_Click(object sender, EventArgs e)
{
Utilities.ResetAllControls(this);
}
Run Code Online (Sandbox Code Playgroud)
public class Utilities
{
public static void ResetAllControls(Control form)
{
foreach (Control control in form.Controls)
{
if (control is TextBox)
{
TextBox textBox = (TextBox)control;
textBox.Text = null;
}
if (control is ComboBox)
{
ComboBox comboBox = (ComboBox)control;
if (comboBox.Items.Count > 0)
comboBox.SelectedIndex = 0;
}
if (control is CheckBox)
{
CheckBox checkBox = (CheckBox)control;
checkBox.Checked = false;
}
if (control is ListBox)
{
ListBox listBox = (ListBox)control;
listBox.ClearSelected();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以再次创建表单并处理旧表单.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnReset_Click(object sender, EventArgs e)
{
Form1 NewForm = new Form1();
NewForm.Show();
this.Dispose(false);
}
}
Run Code Online (Sandbox Code Playgroud)