Насилие над событием класса

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

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

Alex_2005
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 242
Зарегистрирован: 07.04.2005 (Чт) 17:09
Откуда: Germany, Baden-Wurttemberg, Bietigheim-Bissingen

Насилие над событием класса

Сообщение Alex_2005 » 18.09.2006 (Пн) 12:28

Как можно "насильно" вызвать событие класса из другого класс?
Guten Morgen! А если не Guten, то тогда это и не Morgen...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 18.09.2006 (Пн) 12:33

Только так:

Код: Выделить всё
Class class1
    Public Event MyEvent()
    Public Sub Raise()
        RaiseEvent MyEvent()
    End Sub
End Class
Class class2
    Public Sub RaiseEventClass1()
        Dim c1 As New class1
        c1.Raise()
    End Sub
End Class
Весь мир матрица, а мы в нем потоки байтов!

Alex_2005
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 242
Зарегистрирован: 07.04.2005 (Чт) 17:09
Откуда: Germany, Baden-Wurttemberg, Bietigheim-Bissingen

Сообщение Alex_2005 » 18.09.2006 (Пн) 14:35

а если не знаешь в какой процедуре вызывается RaiseEvent у класса? к примеру нужно вызвать сбытие Click у кнопки ..?
Guten Morgen! А если не Guten, то тогда это и не Morgen...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 18.09.2006 (Пн) 15:01

Вызов события - есть внутреннее дело класса. Если есть необходимость явного вызова события из вне, то надо предусматривать сооответствующую процедуру, как в примере.

BM_CLICK ей пошли в окно... кнопке то бишь...
Весь мир матрица, а мы в нем потоки байтов!

Alex_2005
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 242
Зарегистрирован: 07.04.2005 (Чт) 17:09
Откуда: Germany, Baden-Wurttemberg, Bietigheim-Bissingen

Сообщение Alex_2005 » 18.09.2006 (Пн) 15:13

извени.... но я твою посленднюю строку не понял...
Guten Morgen! А если не Guten, то тогда это и не Morgen...

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

Сообщение Sebas » 18.09.2006 (Пн) 15:15

button1.PerformClick()
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 18.09.2006 (Пн) 15:22

Alex_2005, если послать окну кнопки сообщение BM_CLICK, то будет имитировано нажатие этой кнопки. Есть тут нюанс, окно содержащее кнопку должно быть активным. Ну а так как речь идет про .NET, то таки да, PerformClick!

Полностью согласен с Tyomitch насчет несуществования WM_CLICK в природе. Естественно BM_CLICK! Как собственно и было в предыдушем моем ответе.
Последний раз редактировалось Viper 19.09.2006 (Вт) 7:16, всего редактировалось 1 раз.
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.09.2006 (Пн) 15:50

WM_CLICK не существует в природе.
Изображение


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

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

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

    TopList