LeMS_Studios Ответов: 1

Как я могу поделиться событиями из объектов вне текущего класса?


В настоящее время я пытаюсь создать подменю событий, которая находится в отдельном классе, а затем объект включен. В настоящее время btn1, btn2 находятся на frm1, а btn3, btn4-на frm2. В классе 1 Мне нужен подменю событий, который всякий раз, когда происходит событие мыши вниз в любой из кнопок (btn1, btn2, btn3, btn4), он будет работать через код, чтобы изменить фоновое изображение кнопки мыши вниз на отдельное изображение. Существует также еще один подменю событий для мыши вверх.

Что я уже пробовал:

Public Sub _MouseDown(sender As Button, e As MouseEventArgs) Handles frm1.btn1.mousedown, frm1.btn2.mouusedown, frm2.btn3.mouusedown, frm2.btn4.mouusedown
      sender.BackgroundImage = My.Resources.btnDown
  End Sub
  Public Sub _MouseUp(sender As Button, e As MouseEventArgs) Handles frm1.btn1.mouseup, frm1.btn2.mouusedup, frm2.btn3.mouuseup, frm2.btn4.mouuseUp
      sender.BackgroundImage = My.Resources.btnUp
  End Sub

1 Ответов

Рейтинг:
1

phil.o

Ты не можешь. Вы должны создать два обработчика событий, по одному для каждой формы, и реализовать одну и ту же логику в обоих из них.

Вы также можете создать подкласс Button класс, который будет обрабатывать MouseDown и MouseUp события. Затем вы можете использовать эти пользовательские кнопки в обеих ваших формах, не переписывая обработчики событий.