重置表单中的所有项我想知道,有没有办法将所有复选框、文本框、数字等控件重置为默认值,同时不用写每个控件单独的代码?这是我试过的代码,但它似乎不起作用:for(inti=0;i。<.像下面这样创建类并像这样调用它检查:使用C#重置Windows窗体中的所有控件(文本框、组合框、复选框、列表框)privatevoidbutton1_Click(objectsender,EventArgse)}publicclassUtilities{publicstaticvoidResetAllControls(Controlform){foreach(Controlcontrolinform.Controls){if(controlisTextBox){TextBoxtextBox=(TextBox)control;textBox.Text=null;}if(controlisComboBox){ComboBoxcomboBox=(ComboBox)control;如果(comboBox.Items.Count>0)comboBox.SelectedIndex=0;}if(controlisCheckBox){CheckBoxcheckBox=(CheckBox)control;checkBox.Checked=false;}if(controlisListBox){ListBoxlistBox=(ListBox)control;listBox.ClearSelected();}}}}您可以再次创建表单并处理旧表单。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbtnReset_Click(objectsender,EventArgse){Form1NewForm=newForm1();NewForm.Show();这个。处置(假);}foreach(container.Controls中的控制字段){if(fieldisTextBox)((TextBox)field).Clear();elseif(fieldisComboBox)((ComboBox)field).SelectedIndex=0;否则dgView.DataSource=null;清除所有文本(字段);}其他->清除子控件下面的函数还清除类中包含的嵌套(子)控件。publicstaticvoidClearControl(Controlcontrol){if(controlisTextBox){TextBoxtxtbox=(TextBox)control;txtbox.Text=string.Empty;}elseif(controlisCheckBox){CheckBoxchkbox=(CheckBox)control;chkbox.Checked=false;}elseif(controlisRadioButton){RadioButtonrdbtn=(RadioButton)control;rdbtn.Checked=false;}elseif(controlisDateTimePicker){DateTimePickerdtp=(DateTimePicker)control;dtp.Value=DateTime.Now;}elseif(controlisComboBox){ComboBoxcmb=(ComboBox)control;如果(cmb.DataSource!=null){cmb.SelectedItem=string.Empty;cmb.SelectedValue=0;}}清除错误(控制);//重复组合框、列表框、复选框和任何其他您想要清除的控件if(control.HasChildren){foreach(Controlchildincontrol.Controls){ClearControl(child);}}}您可以重新设置某种类型的所有控件。就像foreach(TextBoxtbinthis.Controls.OfType().ToArray()){tb.Clear();但是你不能一次重置所有控件快速回答,也许它会有所帮助:privatevoidbutton1_Click(objectsender,EventArgse){Form2f2=newForm2();f2.ShowDialog();while(f2.DialogResult==DialogResult.Retry){f2=newForm2();f2.ShowDialog();}}并在Form2(“设置”表单)中:privatevoidbutton1_Click(objectsender,EventArgse){DialogResult=DialogResult.OK;关闭();}privatevoidbutton2_Click(objectsender,EventArgse){DialogResult=DialogResult.Retry;关闭();我最近不得不为文本框和复选框执行此操作但使用javascript...如何在ASP.net文档中重置文本框和复选框控件这是代码...并使用按钮或任何其他方法调用它...如果您不在网站上使用ValidationControls,只需删除上面引用的所有代码并调用Page_ClientValidateReset();我相信您可以使用DOM将其扩展到任何其他控件。它更快,并且没有“闪烁”,因为服务器上没有帖子。函数setToggleInputsinPnl(pnlName){vardomCount=pnlName.length;for(vari=0;i如果你有一些面板或组框,重置字段应该是递归的。以上就是C#学习教程:重置表单中的所有项。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注---publicclassUtilities{publicstaticvoidResetAllControls(Controlform){foreach(Controlcontrolinform.Controls){RecursiveResetForm(控制);}}privatevoidRecursiveResetForm(Controlcontrol){if(control.HasChildren){foreach(ControlsubControlincontrol.Controls){RecursiveResetForm(subControl);}}switch(control.GetType().Name){case"TextBox":TextBoxtextBox=(TextBox)control;textBox.Text=null;休息;case"ComboBox":ComboBoxcomboBox=(ComboBox)control;如果(comboBox.Items.Count>0)comboBox.SelectedIndex=0;休息;案例“CheckBox”:CheckBoxcheckBox=(CheckBox)control;checkBox.Checked=false;休息;case"ListBox":ListBoxlistBox=(ListBox)control;listBox.ClearSelected();休息;案例"NumericUpDown":NumericUpDownnumericUpDown=(NumericUpDown)control;numericUpDown.Value=0;休息;}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: