![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| girovago |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.10.2007 Репутация: нет Всего: нет |
У меня MDI-приложение с кучей различных документов. Надо сделать чтобы была возможность открыть только один экземпляр конкретного документа.
Как узнать открыт ли в определенный момент экземпляр одной из форм? |
|||
|
||||
| snav |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 8.9.2007 Репутация: нет Всего: 4 |
При создании новой формы полю m_form присваивается ссылка на созданную форму, при закрытии формы поле обнуляется. Если при создании формы m_form != null, значит такая форма уже существует. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 36 Всего: 170 |
snav, MDI формы уже учитывают связи между родительским контейнером и его child и позволяют решать такие задачи без создания для ворм лишних ссылок-маркеров.
Согласись, когда разработчики .Net претензиозно заявили "Мы позволяем создавать MDI-приложения", они ведь и какой-то код напедалили? С помощью свойства родительского контейнера ActiveMdiChild можно посмотреть какая из его дочерних форм сейчас активна. Проходом по массиву MdiChildren можно посмотреть, какие вообще сейчас формы открыты, ну и т.д. Вот недавно совсем был вопрос по взаимодействию форм. Одним словом, почитайте мануал, подберете нужное. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| snav |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 8.9.2007 Репутация: нет Всего: 4 |
Пожалуй, так действительно проще... |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
Привет всем.
Для того чтобы не допустить создания повторных экземпляров дочерних окон воспользовался методом с codeproject tol05,
к сожалению "не допедалили" В msdn в разделах о MDI нет ни малейшго намека о проверке на существование созданного дочернего окна перед созданием нового. Сколько не жми на кнопку, а каждый раз сождашь новое окошко, не смотря на то что оно вроде как уже и существует. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |