Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Закрытие родительского модального окна 
V
    Опции темы
BENJ
Дата 21.7.2014, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



Уважаемые спецы в vb.net
Возникла глупая проблема.
1. Открывается главное окно программы.
2. Из него вызывается диалоговое модальное окно. Все ОК.
3. Из этого окна вызывается еще одно диалоговое модальное окно. Все ОК.
4. Закрываю последнее окно в обработчике кнопки ОК:
         Me.DialogResult=System.Windows.Forms.DialogResult.OK
         Me.Close()
5. Окно закрывается и одновременно закрывает родителя из которого,
    оно и вызвано было. 
 Вопрос: Почему это происходит и как избежать этого.

Спасибо

PM   Вверх
diadiavova
Дата 21.7.2014, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Me.Close здесь лишнее


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
BENJ
Дата 21.7.2014, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



ничего не помогает. Уже просто тупо попеременно убираю
каждую строчку, ничего не меняется. Дело наверное не в этом.
Проделал эксперимент. Вместо вызова последнего окна, 
вызвал MsgBox("o'k"). Эффект тот же.

PM   Вверх
diadiavova
Дата 21.7.2014, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



BENJ, мне не приходилось вызывать модальный диалог из  модального диалога, так ч о точно не скажу, но могу предположи ь, что когда  ты пр сваиваешь значение диалогрезульту, то закрываются все модальные окна и присвоенное значение возвращает первое окно. Видимо так задумано, проверь.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
baldina
Дата 21.7.2014, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата(BENJ @  21.7.2014,  14:01 Найти цитируемый пост)
Окно закрывается и одновременно закрывает родителя

а как выглядит код родителя, вызывающий второе окно?

PM MAIL   Вверх
BENJ
Дата 21.7.2014, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



очень просто
dim dlg as new dialog1
if dlg.ShowDialog = Windows.Forms.DialogResult.OK then
............................
end if

Добавлено через 7 минут и 4 секунды
Нашел подобную ситуацию в другой части проекта.
Все работает как часы. Никакой разницы в свойствах форм и настройках
не нашел. Только имена, естественно, другие. Проект разр.
в VS2005. Может быть есть глюки какие-то?
PM   Вверх
baldina
Дата 21.7.2014, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



т.е. код на месте "............................" не выполняется? и (если, скажем, поставить точку останова) мимо отладчика проскакивает?

Добавлено через 56 секунд
Цитата(BENJ @  21.7.2014,  21:42 Найти цитируемый пост)
глюки

можно попробовать пересоздать код/диалог заново в проекте. но это бубен..
PM MAIL   Вверх
diadiavova
Дата 21.7.2014, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(BENJ @  21.7.2014,  22:42 Найти цитируемый пост)
Нашел подобную ситуацию в другой части проекта.
Все работает как часы. Никакой разницы в свойствах форм и настройках
не нашел. Только имена, естественно, другие. Проект разр.
в VS2005. Может быть есть глюки какие-то? 

Не видя кода, чисто умозрительно, вряд ли можно сказать что-то конкретное.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
BENJ
Дата 22.7.2014, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



конечно, есть где-то заковыка, причем как всегда, самая примитивная.
Решил создать род. диалог с чистого листа. Скопировал все контролы
со старого и вставил в новый. И.. ничего не изменилось! 
Код выложить по понятным причинам не могу, но организация интерфейса
в принципе стандартная и код тоже.

Спасибо

PM   Вверх
BENJ
Дата 22.7.2014, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



Нашел!!!
Прежде чем поделиться, хочу добавить что
я программер в с++ и MFC.(чтобы не подумали 
куку-чуку). А теперь что произошло.
Когда было создано новое род. окно и вставлены
контролы со старого, ситуация не изменилась. Но стало ясно,
что, возможно, дело в настройках контролов. Проверил почти все (34!).
Но то что увидел в последних двух чуть со стула не спрыгнул. Кнопка
Cancel выглядела вполне нормально, а следующая кнопка (которая и вызывала
дополнительный диалог для ввода данных) оказалась копией кнопки Cancel.
Т.е. чтобы сохранить размеры и цвет в новой кнопке, я просто скопировал
кнопку Cancel, поменял текст и имя соответственно, НО DialogResult остался
Cancel !!!. Не обратил внимание! Поэтому кнопка срабатывала как Cancel , и
закрывала род. диалог!!. Для себя сделал вывод что при копировании надо внимательно просматривать все настройки нового контрола!

Я благодарю всех участников обсуждения, Вы мне очень помогли!


Спасибо большое!


PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.