![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: 3 Всего: 7 |
Пользователь кликает по пункту меню в MdiContainer (MainForm), и запускает модальное окно, в нём что-то делает и тыкает ОК, теперь надо запустить немодальное окно, и присвоить ему MdiParent=MainForm. Как это сделать?
Это сообщение отредактировал(а) ДобренькийПапаша - 25.11.2009, 17:43 -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
как то не понятно, зачем в немодальном окне MdiParent=MainForm? просто что бы была ссылка на MainForm? так передай ее через конструктор например.
|
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: 3 Всего: 7 |
Из модального я открываю немодальное, в котором нужно указать MdiParent, ибо открывается оно в его рамках, максимизируется хотя бы...
Как передать? Я не задавал бы вопроса, если бы знал как получить ссылку на нужную форму (MainForm, из которой открываю модальное окно, которое в свою очередь открывает немодальное и в рамках MainForm). -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
что значит немодальное в рамках MainForm? я не понимаю как это должно выглядеть. объясни для чего в немодальном окне указывать на MdiParent? если просто ссылку то укажи в конструкторе класса фотмы(которая не модальная) что нужно передать в него ссылку на объект MainForm. и при создании этого не модального окна передавай в него ссылку. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Я что-то даже не могу представить себе ситуацию, в которой может понадобиться такая логика. Честно говоря я даже сомневаюсь в том, что такое возможно(хоть сам и не пробовал такое делать Модальный диалог запускается для того, чтобы запросить у пользователя некоторую информацию. Далее по результатам запроса все необходимые действия обычно выполняются уже в самой главной форме. А открывать дочернее окно из модального диалога - ИМХО, бред. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: 3 Всего: 7 |
Из главного окна, по пункту меню выбирается пункт "Оплатившие студенты", появляется модальное окно, где запрашивается курс, семестр, сума оплаты, после этого надо (не знаю как можно по другому) создать окно, в котором вывести в ListView всех студентов, соответствующих запросу.
Вот так. Честно говоря, точно также сделано в другой программе, в данном случае я просто хотел скопировать то же, что сделано в другой аналогичной программе. -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
ДобренькийПапаша, почему все таки не модальное окно нужно не понятно. вопрос в другом, что потом делать со списком стундентов? почему не отобразить список студентов в первом окне? т.е. по пункту меню всплывает окно(кстати зачем оно модальное тоже не понятно, можно просто сделать ShowDialog()), когда пользователь выбрал все что хотел и нажал "ок" окно закрылось и появился список(результат) в основном окне. или если нужно проверить результат выбора сразу, до нажатия на "ок"(ну мало ли, пользователь не уверен какие именно студенты ему нужны) то можно результат вывести в том же окне. короче пока что не вижу необходимости в каком то лишнем окне. если не прав то объясни более подробно. ну и конечно надо решить что делать со списком студентов. если нужно получать к нему(списку) доступ из основного окна, то лучше просто отобразить его там(сделать область для вывода результатов).
как вариант, и мне кажется было бы лучше всего, сделать класс который бы обрабатывал все это дело и создавал тебе нужные окна. если у тебя окно для выбора группы и курса модальное, то значит если тебе нужен список то делай его тоже модальным, можно сделать путем возврата данных в основную форму и что бы потом они из нее отправились туда куда нужно.(лучше конечно реализовать отдельный класс бизнес логики, который бы всем этим управлял). |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: 3 Всего: 7 |
ну нельзя мне в основном окне это отображать, там всё забито.
Может мне вместо ShowDialog(), воспользоваться Show(), при его открытии написать NotModal.MdiParent=this; (ссылка на основное) А теперь при вызове нового окна с выбранными студентами написать: sps.MdiParent=this.MdiParent; sps.Show(); Видимо это самое простое... Чё мучился, непонятно. Или я не прав? -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
ДобренькийПапаша, ну а как это делается со стандартными окнами? Запускаешь окно, дальше если пользователь ввёл данные нажал ок, считывается информация из этого окна и на её основе выпоняются действия. По сути дела, в твоём случае окно запускается только для того, чтобы узнать курс, семестр и сумму оплаты.
Приаттачил пример Присоединённый файл ( Кол-во скачиваний: 6 )
DlgReq.rar 45,66 Kb-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
совсем все? интересно сколько ж у тебя там всего? можно кстати табпэйдж использовать... а вообще если уж негде отобразить, то(как я уже писал) запускай свою форму для выбора группы(и чего там у тебя еще надо) студентов, потом когда пользователь выбрал, возвращай результат в MainForm, а потом уже из MainForm создавай второе окно(хочешь модальное, хочешь обычное) и в нем отображай список. второе окно получится как бы плавающей подсказкой к MainForm |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: 3 Всего: 7 |
Да что-то я по правде перемудрил. Ведь любые данные из модального можно вернуть в главное, а оттуда вызвать новое окно приспокойно и передать туда данные. Что и сделал в примере diadiavova.
Да, бывает, реально перемудрил чего-то))) Спасибо всем. Спасибо diadiavova и спасибо Экскалупатор. -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |