powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как удалить хвост (мусор) в Parent, если родителя как такового уже нет?
2 сообщений из 2, страница 1 из 1
Как удалить хвост (мусор) в Parent, если родителя как такового уже нет?
    #38998817
Jafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте уважаемые форумчане!
у меня собственно вопрос простой: как отсоединить контрол 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(). Как это можно сделать?
...
Рейтинг: 0 / 0
Как удалить хвост (мусор) в Parent, если родителя как такового уже нет?
    #38999114
Jafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тему можно закрыть, проблема решена.
Код: c#
1.
2.
3.
4.
5.
        protected override void Dispose(bool disposing)
        {
            this.Child = null;
            base.Dispose(disposing);
        }
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как удалить хвост (мусор) в Parent, если родителя как такового уже нет?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]