如何清除所有UserControl中的所有文本框和组合框?

时间:2019-05-08 00:59:25

标签: c# winforms

我当前正在编写一个程序,当在最后一个UserControl上单击按钮时,它将清除程序中所有TextBox中的所有ComboBoxUserControls

我在OverviewControl中创建了一个方法,我试图调用一个按钮,该方法将清除GeneralControlStatsControl类中的所有Textbox和ComboBox。

MainForm.cs

public MainForm() 
{
   overviewControl1.GeneralControl = generalControl1;
   overviewControl1.StatsControl = statsControl1;
}

OverviewControl.cs

public partial class OverviewControl : UserControl
{
      public GeneralControl GeneralControl { get; set; }
      public StatsControl StatsControl { get; set; }

      private void GeneralSaveButton_Click(object sender, EventArgs e)
      {
          ClearItems();
      }

      private void ClearItems()
      {
          foreach (Control c in GeneralControl?.Controls)
          {
              if (c is TextBox tb)
                  tb.Clear();
              else if (c is ComboBox cb)
                  cb.SelectedIndex = -1;
          }

          foreach (Control c in StatsControl?.Controls)
          {
              if (c is TextBox tb)
                  tb.Clear();
              else if (c is ComboBox cb)
                  cb.SelectedIndex = -1;
          }
     }
}

我希望当我单击按钮时,它将调用GeneralSaveButton_Click()方法,并清除GeneralControlStatsControl中的所有字段,但是调用该方法后所有字段都将保留在那里。
指出正确方向的任何帮助都将有所帮助。

0 个答案:

没有答案