![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| BENJ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
Уважаемые спецы в vb.net
Возникла глупая проблема. 1. Открывается главное окно программы. 2. Из него вызывается диалоговое модальное окно. Все ОК. 3. Из этого окна вызывается еще одно диалоговое модальное окно. Все ОК. 4. Закрываю последнее окно в обработчике кнопки ОК: Me.DialogResult=System.Windows.Forms.DialogResult.OK Me.Close() 5. Окно закрывается и одновременно закрывает родителя из которого, оно и вызвано было. Вопрос: Почему это происходит и как избежать этого. Спасибо |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Me.Close здесь лишнее
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| BENJ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
ничего не помогает. Уже просто тупо попеременно убираю
каждую строчку, ничего не меняется. Дело наверное не в этом. Проделал эксперимент. Вместо вызова последнего окна, вызвал MsgBox("o'k"). Эффект тот же. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
BENJ, мне не приходилось вызывать модальный диалог из модального диалога, так ч о точно не скажу, но могу предположи ь, что когда ты пр сваиваешь значение диалогрезульту, то закрываются все модальные окна и присвоенное значение возвращает первое окно. Видимо так задумано, проверь.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
||||
|
||||
| BENJ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
очень просто
dim dlg as new dialog1 if dlg.ShowDialog = Windows.Forms.DialogResult.OK then ............................ end if Добавлено через 7 минут и 4 секунды Нашел подобную ситуацию в другой части проекта. Все работает как часы. Никакой разницы в свойствах форм и настройках не нашел. Только имена, естественно, другие. Проект разр. в VS2005. Может быть есть глюки какие-то? |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
||||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Не видя кода, чисто умозрительно, вряд ли можно сказать что-то конкретное. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| BENJ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
конечно, есть где-то заковыка, причем как всегда, самая примитивная.
Решил создать род. диалог с чистого листа. Скопировал все контролы со старого и вставил в новый. И.. ничего не изменилось! Код выложить по понятным причинам не могу, но организация интерфейса в принципе стандартная и код тоже. Спасибо |
|||
|
||||
| BENJ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
Нашел!!!
Прежде чем поделиться, хочу добавить что я программер в с++ и MFC.(чтобы не подумали куку-чуку). А теперь что произошло. Когда было создано новое род. окно и вставлены контролы со старого, ситуация не изменилась. Но стало ясно, что, возможно, дело в настройках контролов. Проверил почти все (34!). Но то что увидел в последних двух чуть со стула не спрыгнул. Кнопка Cancel выглядела вполне нормально, а следующая кнопка (которая и вызывала дополнительный диалог для ввода данных) оказалась копией кнопки Cancel. Т.е. чтобы сохранить размеры и цвет в новой кнопке, я просто скопировал кнопку Cancel, поменял текст и имя соответственно, НО DialogResult остался Cancel !!!. Не обратил внимание! Поэтому кнопка срабатывала как Cancel , и закрывала род. диалог!!. Для себя сделал вывод что при копировании надо внимательно просматривать все настройки нового контрола! Я благодарю всех участников обсуждения, Вы мне очень помогли! Спасибо большое! |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |