Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
6 / 6 / 4
Регистрация: 02.05.2012
Сообщений: 40

Как удалить хвост (мусор) в Parent, если родителя как такового уже нет?

03.07.2015, 15:57. Показов 796. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане!
у меня собственно вопрос простой: как отсоединить контрол Child от Parent. Как это делать через родителя я знаю, например:
C#
1
2
3
4
5
6
7
8
System.Windows.Forms.Integration.ElementHost el_1 = new System.Windows.Forms.Integration.ElementHost();
System.Windows.Forms.Integration.ElementHost el_2 = new System.Windows.Forms.Integration.ElementHost();
System.Windows.Controls.ComboBox comboBox1 = new System.Windows.Controls.ComboBox();
el_1.Child = comboBox1;
 
//Убираем связь между el_1 и comboBox1, после подключаем comboBox1 к el_2
el_1.Child = null;
el_2.Child = comboBox1;
В указанном примере проблем нет, однако они появляются, если выполнить el_1.Dispose(). Например:
C#
1
2
3
4
5
6
7
8
9
System.Windows.Forms.Integration.ElementHost el_1 = new System.Windows.Forms.Integration.ElementHost();
System.Windows.Forms.Integration.ElementHost el_2 = new System.Windows.Forms.Integration.ElementHost();
System.Windows.Controls.ComboBox comboBox1 = new System.Windows.Controls.ComboBox();
el_1.Child = comboBox1;
 
el_1.Dispose();
 
//el_1 удаляется, но comboBox1.Parent по прежнему привязан
if(comboBox1.Parent == null) el_2.Child = comboBox1;
В моем случае, выполнение el_1.Dispose() я контролировать не могу. Мне просто нужно освободить comboBox1.Parent уже после удаления родителя, то есть после его Dispose(). Как это можно сделать?

Добавлено через 4 часа 41 минуту
тему можно закрыть, проблему решил, решением стало изменение реализации функции Dispose. Пример
C#
1
2
3
4
5
6
7
8
9
10
11
12
    public class EditControl : ElementHost, IDataGridViewEditingControl
    {
        public System.Windows.Controls.ComboBox comboBoxA;
        public EditControl()
        { }
 
        protected override void Dispose(bool disposing)
        {
            this.Child = null;
            base.Dispose(disposing);
        }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.07.2015, 15:57
Ответы с готовыми решениями:

Просьба оценить форум с точки зрения дизайна (хотя его как такового нет)
Здравтсвуйте! Прошу Вас оценить форум с точки зрения дизайна.. Знаю что многие скажут: "Дизайн примитивный", делай...

В заданном массиве найти максимальный элемент среди уникальных; если такового нет, вывести сообщение об этом
Помогите закончить программу Условие: Задан масив целых чисел a(n), n<=400. Написать программу, которая находит максимальное среди тех...

Как удалить программу из автозагрузки, если её там нет?
Всем привет, Windows 7-64 Максимальная Установил программу iDisplay, которая запускается при загрузке ОС. Открывал msconfig, в...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.07.2015, 15:57
Помогаю со студенческими работами здесь

Игра змейка С++ . Хвост. как создать хвост змейки
День добрый помогите, не знаю как сделать хвост. Код был взят с форума и переделан. Но с хвостом не знаю что делать... буду рад любому...

Как программно удалить кнопку которую программно создал но только если она уже существует
Есть ScrollView в котором много компонентов,чтоб не выводить сразу все решил выводить по 10 штук и снизу пихать кнопку "еще",эту...

Если потомок последний то удалить и родителя
Доброго времени суток! Столкнулся с такой задачкой: Необходимо, при удалении потомков у родителя в TreeView, проверить условие - Сколько...

Как при клике взять ID родителя и скрыть дивы с классом взятого ранее родителя?
Здравствуйте друзья, столкнулся с задачкой для решения которой у меня не хватает опыта JS программировании. Имеется сайт с системой...

Удалить строку если опеределенная ячейка в ней пуста, если нет - оставить
Добрый день! Подскажите пожалуйста, как сделать: Есть лист excel, в котором находятся данные. Необходимо удалить все строки,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru