Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2015, 00:54   #11
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Цитата:
Потому что webBrowser это просто ссылка на элемент на форме. Вы присвоили переменной другую ссылку, но на форме от этого ничего не поменялось. И старый никуда не делся, и новый не появился.
А почему на форме ничего не поменялось, вроде ссылке присвоил другую ссылку? В С# вроде через equals ссылки присваиюваются вычитал.

Код конструктора
Код:
public MainWindow()
        {
            InitializeComponent();
            
            //присваиваем ссылку
            webBrowser.Equals(new System.Windows.Forms.WebBrowser());
            //вызываем зборщик мусора
            GC.Collect();
            GC.WaitForPendingFinalizers();

            webBrowser.Navigate("http://google.ru");    
        }
А как удалить старый объект, GC вызвал хз. вроде он должен удалить объект первый?
ninja2 вне форума Ответить с цитированием
Старый 01.10.2015, 07:49   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Equals это обычно сравнение по содержимому (если переопределено в классе), a == это ReferenceEquals. Кроме string и Value типов (стандартные int, double, ..., и struct), у них == это Equals.
К присваиванию не имеет отношения.

Тут не в GC дело. Можно ж не задавать Name и элемент будет на форме, просто не будет переменной для простого доступа к нему.
Надо из контейнера на форме (Grid и т.п.) удалить/добавить.

И вообще GC.Collect не надо вызывать самому кроме некоторых редких случаев, и то Collect не означает, что он прям сейчас придет.
Для удаления unmanaged ресурсов (и элементов WindowsForms тоже) есть IDisposable (метод Dispose).
Код:
webBrowser.Dispose();
удалит его.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.10.2015 в 09:32.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 13:59   #13
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Цитата:
Тут не в GC дело. Можно ж не задавать Name и элемент будет на форме, просто не будет переменной для простого доступа к нему.
Надо из контейнера на форме (Grid и т.п.) удалить/добавить.
А как из этой формы удалять вручную?
ninja2 вне форума Ответить с цитированием
Старый 01.10.2015, 14:06   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://lmgtfy.com/?q=wpf+add+control+%20in+code
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 16:53   #15
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Непойму почему из за этого кода не закрывается программа.
Код:
while (m_flag)
            { System.Windows.Forms.Application.DoEvents(); }
Этот код когда комментирую тогда программа закрывается, когда с ним то не закрывается программа. Программа не может выйти с него и я в этот момент нажимаю крестик и все окно пропадает, а программа не удаляется. Можно в Closing делать m_flag=false.
Сделал в обработчике Closing тогда закрылась.

Че цикл подвисает, программа закрылась, должен и цикл закрыться?

Что то не ясно, если цикл зациклится, то уже что программу не закрыть?

Последний раз редактировалось ninja2; 01.10.2015 в 16:56.
ninja2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отключить js в webbrowser daaa Общие вопросы Delphi 15 27.01.2014 21:03
отключить css в webbrowser Delphi designer999 Работа с сетью в Delphi 0 11.06.2010 09:54
Как отключить звуки WebBrowser'а? Marsel737 Мультимедиа в Delphi 14 14.01.2010 10:29
Ошибка выполнения сценария WebBrowser [Internet] Рустам Работа с сетью в Delphi 2 12.03.2009 22:19
Игнорирование ошибок сценария в WebBrowser Vladimir K. Общие вопросы Delphi 1 03.02.2008 23:23