powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Событие в MDI форме
5 сообщений из 5, страница 1 из 1
Событие в MDI форме
    #32776838
Фотография Resident
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуйста в таком вопросе.
Имеется MDI форма, в ней динамически создаются дочерние формы.
Каким образом сделать так чтобы при срабатывание таймера в MDI форме
В во всех дочерних формах возникало событие(дочерние формы перехватывали это событие).
...
Рейтинг: 0 / 0
Событие в MDI форме
    #32777168
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ResidentПомогите пожалуйста в таком вопросе.
Имеется MDI форма, в ней динамически создаются дочерние формы.
Каким образом сделать так чтобы при срабатывание таймера в MDI форме
В во всех дочерних формах возникало событие(дочерние формы перехватывали это событие).
Суть:
в дочерних формах должна быть ссылка класс, однозначно связывающий дочерние формы и родительскую MDI
Как простейший вариант - ссылка на саму родительскую MDI
В ней во время срабатывания таймера вы поднимаеите свое событие, например

RaiseEvent TimerEvent

В дочерних формах объявляете

private withevents m_oMDIParetnt as MDIParent
и перехватываете его

Перед показам дочерней формы передаете туда ссылку на родительскую
...
Рейтинг: 0 / 0
Событие в MDI форме
    #32777268
Фотография Resident
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том что я не сталкивался с такими вещами как RaiseEvent, WithEvents для работы с событиями, объясните пожалуйста по подробнее и если можно небольшой пример. Заранее спасибо.
...
Рейтинг: 0 / 0
Событие в MDI форме
    #32777386
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ResidentДело в том что я не сталкивался с такими вещами как RaiseEvent, WithEvents для работы с событиями, объясните пожалуйста по подробнее и если можно небольшой пример. Заранее спасибо.
1 Старт VB6, новый EXE проект. Form1 создается по умолчанию

2 Добавить MDI форму

3 В Form1 выставить MDIChild=True

4 В свойствах проекта выставить StartUpObject MDIForm1

5 На форму MDIForm1 положить таймер

6 В Form1 добавить следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Option Explicit
Private WithEvents m_oParentForm As MDIForm1

Private Sub m_oParentForm_TimerEvent()
    MsgBox "Timer in main form"
End Sub

Public Property Set ParentForm(ByRef p_oForm As MDIForm1)
    Set m_oParentForm = p_oForm
End Property
7 В MDIForm1 добавить следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Explicit
Public Event TimerEvent()

Private Sub MDIForm_Load()
    Dim oForm As Form1
    Set oForm = New Form1
    Set oForm.ParentForm = Me
    oForm.Show
    
    Timer1.Enabled = True
    Timer1.Interval =  1000 
End Sub

Private Sub Timer1_Timer()
    RaiseEvent TimerEvent
End Sub
...
Рейтинг: 0 / 0
Событие в MDI форме
    #32777447
Фотография Resident
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо Алексей! Разобрался.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Событие в MDI форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]