首页 > 解决方案 > 如何清除所有用户控件中的所有文本框和组合框?

问题描述

我目前正在编写一个程序,当单击最终按钮时,UserControl它会清除程序TextBoxComboBox的所有UserControls内容。

我在我的内部创建了一个方法OverviewControl,我试图调用一个按钮,该按钮将清除GeneralControlStatsControl类中的所有文本框和组合框。

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在调用该方法后所有字段仍保留在那里。
任何指向正确方向的帮助都会有所帮助。

标签: c#winforms

解决方案


推荐阅读