Узнать какое произошло событие

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

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

feliks
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 03.05.2009 (Вс) 20:02

Узнать какое произошло событие

Сообщение feliks » 22.05.2009 (Пт) 10:39

Можно ли узнать в обработчике событий какое именно произошло событие если в Handles указано несколько разных названий событий?
Например:
Код: Выделить всё
Private Sub Test(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave, Button1.Click
    If если произошло событие Button1.MouseLeave Then

     ElseIf если произошло событие Button1.Button1.Click Then

     End If
End Sub


То что можно указывать разные события для разных функций я знаю :wink: Обработчик каждого события будет содержать по 1-2 однотипных сточки и таких событий будет много, поэтому в данном чем меньше будет функций тем лучше.

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

Re: Узнать какое произошло событие

Сообщение Viper » 22.05.2009 (Пт) 12:53

Меод GetType, но по идее, если необходима разная реакция на разные события, то какой смысл объединять их в одном обработчике?
Весь мир матрица, а мы в нем потоки байтов!

feliks
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 03.05.2009 (Вс) 20:02

Re: Узнать какое произошло событие

Сообщение feliks » 22.05.2009 (Пт) 13:41

Я пробовал GetType.ToString, у меня она выдает "System.EventArgs" для всех событий. И много другого там пробовал указывать. Так и не нашел нужное.

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

Re: Узнать какое произошло событие

Сообщение Viper » 22.05.2009 (Пт) 14:58

У меня GetType работает нормально, в этом примере по крайней мере
Код: Выделить всё
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click, Button1.MouseClick
    Debug.Print(e.GetType.ToString)
End Sub
Весь мир матрица, а мы в нем потоки байтов!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Узнать какое произошло событие

Сообщение Williams » 22.05.2009 (Пт) 18:55

e.GetType.Name, быть может?
И вы думаете, что вас оставят в живых после прочтения этого поста?

feliks
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 03.05.2009 (Вс) 20:02

Re: Узнать какое произошло событие

Сообщение feliks » 22.05.2009 (Пт) 19:01

У меня в данном случае она показывает "System.Windows.Forms.MouseEventArgs", а нужно ведь здесь "Button1.Click" либо "Button1.MouseClick" чтобы сравнить. Или вообще как-то по-другому сравнивать. Я недавно начал изучать VB, поэтому пока мало чего знаю :(

e.GetType.Name, быть может?


Нет, выдает "MouseEventArgs"

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Узнать какое произошло событие

Сообщение Williams » 22.05.2009 (Пт) 19:19

Все-таки, сдается мне, надо разделить на разные обработчики. Может и есть какой-то способ, но он не очевиден. А раз не очевиден, вряд-ли его использование будет являться оправданным.
И вы думаете, что вас оставят в живых после прочтения этого поста?

feliks
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 03.05.2009 (Вс) 20:02

Re: Узнать какое произошло событие

Сообщение feliks » 22.05.2009 (Пт) 19:30

Да, остается только это
Спасибо всем за помощь!


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

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

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 72

    TopList  
cron