c# - 重置表单中的所有项目

标签 c# winforms reset

我想知道,有没有一种方法可以将所有复选框、文本框、数字和其他控件重置为默认值,而无需为每个控件单独编写代码?这是我试过的代码,但似乎不起作用:

for (int i = 0; i < this.Controls.Count; i++)
{
    this.Controls[i].ResetText();
}

编辑:
我已经通过手动设置控制值修复了它,很抱歉给您带来的麻烦 >.<.

最佳答案

按照下面的步骤创建类并像这样调用它

检查:Reset all Controls (Textbox, ComboBox, CheckBox, ListBox) in a Windows Form using C#

private void button1_Click(object sender, EventArgs e)
{
   Utilities.ResetAllControls(this);
}

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();
                }
            }
        }      
    }

关于c# - 重置表单中的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569641/

相关文章:

r - 需要重置操作按钮(或替代)

c# - 查找一个字符串到另一字符串程序的排列

c# - 将 WPF DataGridComboBoxColumn 与 MVVM (WAF) 绑定(bind)

c# - 如何防止打印屏幕

c# - 创建自定义 RichTextBox 控件

c# - 如何制作可以贴在屏幕边框上的表格

android - CSS3 变换 : Rotate resets on complete on Droid 2

mysql - 尝试创建一个 "Row Number"列,该列在新年伊始以及有新的声明投手时再次从 1 重新开始

c# - MVC3 Layout Page、View、RenderPartial 和获取脚本文件到 Header(从局部 View )

c# - : if (OBJECT_INSTANCE is TYPE)的表现