Как создать событие event которое можно изменить для конкретного экземпляра класса? - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

создал свой класс MyDGV и создал в нем событие BeforeLoad и AfterLoad например
Листинг программы
  1. Friend Event BeforeLoad(ByVal sender As Object, ByVal e As MyEvent)
мне нужно чтобы в зависимости от параметров MyEvent (e) экземпляр класса делал нужно или не делал как например
Листинг программы
  1. Private Sub Filter_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Filter.KeyPress
  2. ' код
  3. e.Handled = True
  4. End Sub
e.Handled позволяет вписывать символ или не позволяет

Решение задачи: «Как создать событие event которое можно изменить для конкретного экземпляра класса?»

textual
Листинг программы
  1.      ' скомпоновал все в одной кнопке для теста
  2.      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  3.  
  4.         Dim mcl As New mClass ' допустим это ваш экземпляр класса
  5.  
  6.         AddHandler mcl.ShowMeMsg, AddressOf ShowMeMsg ' ссылка на событие
  7.  
  8.         mcl.OnShowMeMsg() ' вызов метода, который затем вызовет событие
  9.  
  10.     End Sub
  11.  
  12.     ' метод который обрабатывает полученное событие. Заметьте экземпляр класса события передается как ссылка - ByRef
  13.     Public Sub ShowMeMsg(ByVal sender As Object, ByRef e As mEventArgs)
  14.  
  15.         If MsgBox("Отменить событие?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
  16.             e.Cancel = True ' говорим событию, что надо отменить некое действие
  17.         Else
  18.             e.Cancel = False ' ...напротив, продолжаем действие
  19.         End If
  20.  
  21.     End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.538 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы