Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/65: Рейтинг темы: голосов - 65, средняя оценка - 4.58
1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 50

Удаление ненужных объектов с формы

10.05.2013, 16:55. Показов 14139. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

подскажите пожалуйста, как удалить ненужные объекты с формы (кнопки, чекбоксы и т.п.), а также выражения типа
C#
1
 private void startButton_Click(object sender, EventArgs e) {}
с кода формы, которые больше не используются?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2013, 16:55
Ответы с готовыми решениями:

Проверка длины и удаление ненужных символов
Добрый день! Работаю с CRM. У меня есть идентификатор, который состоит из названия опроса и вопроса, пример, Это стул? (Название...

Удаление объектов из списка и удаление самого объекта
Здраствуйте! Возник такой вопрос, допустим имеется структура данных (неважно, будь то словарь или список, пусть в данном случае будет...

Удаление объектов
Всем добрый день! У меня следующий вопрос: в цикле, который выполняется несколько тысяч раз есть такая строка myClass obj = new...

25
11.05.2013, 03:18
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от dev-a1056 Посмотреть сообщение
кстати сказать есть еще способ, достаточно дернуть у удаляемого контрола Dispose(), т.к. у каждого контрола есть ссылка на родителя, но с этой ссылкой уже нельзя будет работать.
за что Вас так заминусовали? ссылочку если можно

0
1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 50
11.05.2013, 14:42  [ТС]
Сорри, а как будет выглядеть код? Controls.Dispose() вроде как не работает
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
11.05.2013, 14:45
Цитата Сообщение от Ozeki77 Посмотреть сообщение
Controls.Dispose()
XD

Controls - это список дочерних контролов элемента. Вам нужен указатель непосредственно на удаляемый элемент, к примеру

C#
1
2
3
4
5
6
Controls[0].Dispose();
 
button1.Dispose();
 
Control focus_control = pictureBox1;
focus_control.Dispose();
0
1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 50
11.05.2013, 16:28  [ТС]
попробовал удалить одну строку
private System.Windows.Forms.CheckBox minCheckBox; в Form.Designer.cs
он так заругался так, что мне страшно стало, сама форма исчезла и вылезли предупреждения. вернул обратно от греха подальше.

Добавлено через 5 минут
Wolfdp, а этот код пишется в коде формы? Я попробовал там ввести minCheckBox.Dispose(), но выдало ошибку, что этот CheckBox is a field but used as a type.

Добавлено через 5 минут
Я тут еще подумал, что по идее весь мусор будет удаляться из программы автоматически. Если оставить все как есть, только сделать .Visible=false, то со временем все само собой наладится?

Добавлено через 4 минуты
Или если есть ссылка на этот CheckBox в виде .Visible, то оно наверное не удалится...
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
11.05.2013, 17:30
Цитата Сообщение от Ozeki77 Посмотреть сообщение
Wolfdp, а этот код пишется в коде формы?
В файле Form.cs, designe вообще не рекомендуют трогать, это авто-генерируемый файл, и любые изменения вручную пропадут при очередной перезборке.


Цитата Сообщение от Ozeki77 Посмотреть сообщение
попробовал удалить одну строку
private System.Windows.Forms.CheckBox minCheckBox; в Form.Designer.cs
Зачем, если не секрет? =) Это же объявление вашего контрола, в файле явно было что-то такого плана, что вы неудалили


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#region Windows Form Designer generated code
 
private void InitializeComponent()
        {
            
            // checkBox1
            // 
            this.checkBox1.AutoSize = true;
            this.checkBox1.Location = new System.Drawing.Point(54, 82);
            this.checkBox1.Name = "checkBox1";
            this.checkBox1.Size = new System.Drawing.Size(80, 17);
            this.checkBox1.TabIndex = 0;
            this.checkBox1.Text = "checkBox1";
            this.checkBox1.UseVisualStyleBackColor = true;
То есть вы удалили внутренее поле, но не удалили строчки, которые работают с ним. Вот вам и выдало на всё ошибки.


Цитата Сообщение от Ozeki77 Посмотреть сообщение
Если оставить все как есть, только сделать .Visible=false, то со временем все само собой наладится?
Visible - это отображать или нет. Сам контрол в этом случае никуда не девается. То есть, если мы создадим 1 000 контролов, закиним их на форму и зададим им Visible = false, то из памяти они никуда не денутся, так как они привязаны к окну.

Цитата Сообщение от Ozeki77 Посмотреть сообщение
Я попробовал там ввести minCheckBox.Dispose()
Можно участок с объявление и участок с кодом minCheckBox.Dispose()? По идее что-то такого плана: у нас есть кнопка и по нажатию мы удаляем CheckBox

C#
1
2
3
4
private void button1_Click(object sender, EventArgs e)
{
  this.checkBox1.Dispose();
}
0
1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 50
11.05.2013, 21:02  [ТС]
В этой теме был раньше совет удалить все записи с ненужным Сontrol из файла Form.Designer.cs, поэтому я пытался сделать так.

Участок, где я пытался вставить minCheckBox.Dispose()- между двумя кнопками в файле Form.cs:
private void startButton_Click(object sender, EventArgs e) {....} и private void finishButton_Click(object sender, EventArgs e){.....}. Методов в коде с minCheckBox нет никаких, нет уже и вообще никаких упоминаний о нем в коде формы - есть только Control на форме

Насчет сделать отдельную кнопку, которой убирать весь мусор из программы- насколько это грамотно? Я пытаюсь удалить вещи, которые мне там больше никогда не понадобятся. Создавать для этого отдельную кнопку на форме- мне кажется не очень оптимальное решение.

Добавлено через 5 минут
Ну я тупо пытался вставить minCheckBox.Dispose() между двумя кнопками, думал может сработает))

Добавлено через 8 минут
Или в этом же методе где удаляется СheckBox можно удалить и кнопку, которая его удаляет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2013, 21:02

Групповое удаление объектов в ArrayList
Нужно реализовать такое удаление, а как - вообще не догадываюсь. Пообъектно - да, но все сразу не могу. Помогите, пожалуйста. Код...

Удаление объекта из Массива объектов
Приветствую! Подскажите как удалить объект из массива Object mas = cls1.GetObjects(""); foreach (Object obj in mas) ...

Удаление из списка объектов класса повторяющихся элементов
Добрый вечер. Есть программа, на определенном этапе которой мне необходимо удаление одинаковых элементов. public class OcQR ...

Нарисовать поверх всех объектов формы
Через событие Paint это реально сделать? а то он сначала рисует то что мне требуется, а поверх рисует все объекты формы, как мне сделать...

Автоматическое изменение свойств объектов формы по индексу
Доброго времени суток, господа. Хочу попросить совета или рекомендации по такому вопросу. Сам я только учусь программировать, и ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru