Как очистить все текстовые поля и поля со списками во всех элементах управления пользователя? - PullRequest
0 голосов
/ 08 мая 2019

В настоящее время я пишу программу, которая при нажатии кнопки на окончательном UserControl очищает все TextBox и ComboBox во всех UserControls в программе.

Я создал в моем OverviewControl метод, который я пытаюсь вызвать кнопкой, которая очистит все текстовые поля и поля со списком в классах GeneralControl и StatsControl.

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() и очищает все поля из GeneralControl и StatsControl, но все поля остаются там после вызова метода.
Любая помощь, направленная в правильном направлении, будет полезна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...