Для удаления всех кнопок в WinForms на C# существует несколько подходов, в зависимости от того, что именно вы имеете в виду.
Если вы хотите удалить все кнопки, которые уже присутствуют на форме в дизайнере, вы можете использовать следующий код:
foreach (Control control in Controls) { if (control is Button) { Controls.Remove(control); } }
Этот код пройдет по всем элементам управления на форме, и для каждого элемента управления проверит, является ли он кнопкой (Button
). Если это так, элемент управления будет удален с помощью метода Remove
.
Если же вы хотите предотвратить отображение кнопок на форме при ее инициализации, вы можете использовать следующий код:
private void Form1_Load(object sender, EventArgs e) { foreach (Control control in Controls) { if (control is Button) { control.Visible = false; } } }
Этот код будет выполняться при загрузке формы и для каждой кнопки (Button
) на форме устанавливает свойство Visible
в значение false
, что приводит к их скрытию.
Если же вы хотите удалить кнопки, которые были созданы динамически во время выполнения программы, то вам потребуется хранить ссылки на них и удалять их по мере необходимости:
private List<Button> buttons = new List<Button>(); private void CreateButton_Click(object sender, EventArgs e) { Button newButton = new Button(); // Конфигурируйте новую кнопку по вашему усмотрению // ... buttons.Add(newButton); Controls.Add(newButton); } private void RemoveAllButtons_Click(object sender, EventArgs e) { foreach (Button button in buttons) { Controls.Remove(button); } buttons.Clear(); }
В этом примере создается новая кнопка при каждом щелчке по кнопке CreateButton
. Каждая созданная кнопка добавляется в список buttons
и отображается на форме с помощью метода Add
у коллекции Controls
. При нажатии на кнопку RemoveAllButtons
все кнопки из списка buttons
удаляются с помощью метода Remove
и список buttons
очищается.
Надеюсь, эти решения помогут вам убрать все кнопки в WinForms на C#.