Страница: 1 | 2 |
Вопрос: Обработка событий формы в модуле
Добавлено: 07.06.10 15:18
Автор вопроса: FuzzySense
Ответы
Всего ответов: 19
Номер ответа: 16
Автор ответа:
FuzzySense
Вопросов: 2
Ответов: 13
Профиль | | #16
Добавлено: 09.06.10 16:09
ап
Номер ответа: 17
Автор ответа:
Diavolo
Вопросов: 6
Ответов: 46
Профиль | | #17
Добавлено: 09.06.10 16:52
Ну и пиши, кто тебе мешает? Ведь тебе же уже было сказано, что все равно придется в описании событий вызывать просто метод. А вот обработчиком событий однотипных контролов может быть одна процедура, ибо аргументы будут одни и те же. К примеру, если у тебя есть два button-а, то никто не мешает тебе для них сделать одну процедуру-обработчик события click. Проще всего это сделать в самом дизайнере, выбрав нужную процедуру для события, но можно и в коде. Итак, допустим, у тебя есть две кнопки a и b. Тогда:
В общем, в таком духе. А вообще - почитай книженции, тут ведь не школа
Номер ответа: 18
Автор ответа:
FuzzySense
Вопросов: 2
Ответов: 13
Профиль | | #18
Добавлено: 11.06.10 01:28
В общем порешал задачку
Начальные условия:
Имеем form1, на ней контрол button1
Добавляем два модуля: ProgLogic - здесь описываем логику работы программы(процедуры реакций на события контролов на form1), NewEvent - здесь "подключаем" стандартые события контролов к процедурам в ProgLogic.
Сама связка событий контролов на форме с процедурами в ProgLogic осуществляется через NewEvent посредством AddHandler(оказалось как просто )
Листинги:
Код для form1 (событие - загрузка формы)
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
newevent.newevents()
End Sub
End Class
Модуль NewEvent ("подключение" события button1.click к процедуре button1_click модуля ProgLogic):
Module newevent
Public Sub newevents()
AddHandler Form1.Button1.Click, AddressOf ProgLogic.Button1_Click
'Здесь у AddHandler два параметра - 1-ый это само событие контрола на форме, 2-ой ссылка на процедуру обработки события
End Sub
End Module
Ну и наконец сам модуль в котором обрабатываются события контролов формы:
Module ProgLogic
Public Sub Button1_click() ' Это и есть процедура обработки события Button1.Click на которую ссылается AddHandler из модуля NewEvent, и который инициализируется при загрузки Form1
form1.Button1.text="Работает блин!"
Application.Exit()
End Sub
End Module
Господа, жду комментарии...
Может чета упустил может недоглядел....
Номер ответа: 19
Автор ответа:
FuzzySense
Вопросов: 2
Ответов: 13
Профиль | | #19
Добавлено: 11.06.10 01:31
Artyom
Спасибо за подсказку!
Diavolo
Создание своих событий - новая тема для размышлений