Mashi Bandara Ответов: 2

Как удалить динамические кнопки во время выполнения?


я создал динамические кнопки, используя следующий код во время выполнения с помощью visual studio на c#. теперь я хочу удалить некоторые кнопки, которые я создал во время выполнения.как я могу это сделать

Что я уже пробовал:

Кнопка dynamicButton = новая кнопка();
dynamicButton.Местоположение = новая точка(300 + tx4, 200 + tx3);
dynamicButton.Высота = nh;
dynamicButton.Ширина = з;
dynamicButton.BackColor = Цвет.Серый;
dynamicButton.ForeColor = Цвет.Синий;
dynamicButton.Click += new EventHandler(DynamicButton_Click);
Управления.Добавить (dynamicButton);

2 Ответов

Рейтинг:
17

Ralf Meier

То, что показывает ваш пример кода,-это динамическое создание кнопки.
После этого создания кнопка добавляется в коллекцию элементов управления ее Хоста (возможно, в форму).
Если вы хотите удалить элемент управления, вам нужно только удалить его из той же коллекции элементов управления (Controls.Удалить).
Проблема здесь, возможно, заключается в том, чтобы определить правильный контроль для удаления. Для этого может быть полезно дать каждому элементу управления имя - Visual-Studio-Designer обычно делает это за вас. Если вы создаете динамический элемент управления, вы должны использовать его в своем коде ...


Mashi Bandara

знаете ли вы, как назвать это создание кнопок, чтобы идентифицировать его для удаления

Ralf Meier

Если вы хотите назвать кнопку, Вы должны использовать это имя.Свойство кнопки (каждый элемент управления имеет такое свойство).
C# - код будет выглядеть следующим образом :
dynamicButton.Имя = "mySelfCreatedButton_01"

Так... если вы хотите удалить специальный элемент управления из своей коллекции элементов управления, вы можете найти его по имени, а затем удалить.

Но... если вы подключили некоторые обработчики событий вручную к этому элементу управления, вы должны сначала удалить их ...

Mashi Bandara

хорошо... спасибо

Maciej Los

5ед!

Ralf Meier

Спасибо, Мацей :)

Animesh Datta

Лучшее объяснение . Мои 5!

Ralf Meier

И тебе спасибо.

Рейтинг:
0

Maciej Los

Я бы посоветовал ознакомиться с документацией MSDN: Как добавить или удалить из коллекции элементов управления во время выполнения[^]