Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Forms Добавлено: 24.03.06 21:09  

Автор вопроса:  Shovgenyuk | ICQ: 158931552 
Как отловить события добавления и удалений форм в колекцию Forms.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 25.03.06 06:03
Завернуть коллекцию в класс и генерировать события в своих методах. В общем случае.

Унаследовать коллекцию и override методы AddItem и RemoveItem. В случае, если это не vb6.

А ещё можно изучить коллекцию на предмет установки handler'ов, если получиться, будет проще.

Ответить

Номер ответа: 2
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #2 Добавлено: 25.03.06 13:45
Это как раз vb6.

А ещё можно изучить коллекцию на предмет установки handler'ов, если получиться, будет проще.

Можно здесь поподробнее?

Ответить

Номер ответа: 3
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #3
Добавлено: 25.03.06 17:44
Раз не vb6 значит это не твой вариант. Тебе подойдёт первый.

Ответить

Номер ответа: 4
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #4 Добавлено: 25.03.06 17:55
Завернуть коллекцию в класс и генерировать события в своих методах.


Но а методы вызывать из всех форм что открываются, что-ли?

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 25.03.06 18:24
Ты ж форму походу сам программно добавляешь? Там и лови... или уточняй вопрос

Ответить

Номер ответа: 6
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #6 Добавлено: 25.03.06 20:04
Я хочу один раз написать код который будет выполнятся при открытии и закрытии любой формы.
Понятно что в каждую форму можно вписать этот код (или его вызов), но это нужно не забыть писать в каждую форму.

Ответить

Номер ответа: 7
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #7 Добавлено: 28.03.06 10:38
А для чего это надо? Может есть пути более рациональные? :)

Ответить

Номер ответа: 8
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #8 Добавлено: 28.03.06 10:54

А для чего это надо? Может есть пути более рациональные? :)

Хочу сделать свою панель задач в MDI-форме

Ответить

Номер ответа: 9
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #9
Добавлено: 29.03.06 04:03
сабклась родительское окно, выводи из него "типа событие" в ответ на добавление дочернего окна.

Или даже...

Разве когда в VB6 хочешь отобразить окно в родительском мультиоконном не надо выполнять код типа MainMDI.Add (myChildForm)? Тогда создай метод AddToMain(form as Variant) и добавляй сколько хочешь. И этот же метод у тебя станет своего рода перехватом добавления дочерних окон.

Либо переходи на VB.Net - там всё куда как проще, благодаря полностью раскрытым возможностям ООП.

Ответить

Номер ответа: 10
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #10 Добавлено: 29.03.06 11:11
Что значит

но это нужно не забыть писать в каждую форму.

?
Если ты, скажем, напишешь код для формы Form1 на событие Form_Unload, то
Set MyForm1 = New Form1
Set MyForm2 = New Form1
Set MyForm3 = New Form1
Все эти формы будут выполнять этот код.

Ответить

Номер ответа: 11
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #11 Добавлено: 29.03.06 11:27

Если ты, скажем, напишешь код для формы Form1 на событие Form_Unload, то
Set MyForm1 = New Form1
Set MyForm2 = New Form1
Set MyForm3 = New Form1
Все эти формы будут выполнять этот код.


:)))))))))

Ответить

Номер ответа: 12
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #12 Добавлено: 29.03.06 12:17
ну тогда

For Each по своим формам ставя хук на WM_CLOSE

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам