Как компанент может отследить, что его удалили?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

EXIS
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 02.05.2006 (Вт) 17:16

Как компанент может отследить, что его удалили?

Сообщение EXIS » 12.11.2008 (Ср) 12:35

Пишу User Control, Делаю так
Код: Выделить всё
    Protected Overrides Sub Finalize()
        MsgBox("aaa")
        MyBase.Finalize()
    End Sub

но окошко MsgBox при удалении компанента вылетает не всегда. Может я что-то не так делаю? :bom:

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как компанент может отследить, что его удалили?

Сообщение MIT » 12.11.2008 (Ср) 15:46

Попробуй не в Finalize, а в событии Me.Disposed.
По моему правильная обработка зависит от того, на основе чего он строится, например у формы работает через Me.Disposed, а у Panel через Finalize.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Как компанент может отследить, что его удалили?

Сообщение Sebas » 12.11.2008 (Ср) 19:13

EXIS писал(а):Пишу User Control, Делаю так
Код: Выделить всё
    Protected Overrides Sub Finalize()
        MsgBox("aaa")
        MyBase.Finalize()
    End Sub

но окошко MsgBox при удалении компанента вылетает не всегда. Может я что-то не так делаю? :bom:



"что его удалили?" - что Ты подразумеваешь под этой фразой?
И чего Ты хочешь добиться?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

EXIS
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 02.05.2006 (Вт) 17:16

Re: Как компанент может отследить, что его удалили?

Сообщение EXIS » 12.11.2008 (Ср) 23:35

Разобрался в WPF используется метод Unloaded вместо Dispose. Там вообще многие методы переименованны.

Код: Выделить всё
    Private Sub Control_Unloaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Unloaded
        MsgBox("bbb")
    End Sub

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как компанент может отследить, что его удалили?

Сообщение MIT » 13.11.2008 (Чт) 9:10

Тогда уточнять надо было.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

EXIS
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 02.05.2006 (Вт) 17:16

Re: Как компанент может отследить, что его удалили?

Сообщение EXIS » 14.11.2008 (Пт) 22:47

Извините сам не знал думал все как по старинке :oops:


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 87

    TopList  
cron