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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mdi модально 
:(
    Опции темы
mal
Дата 21.6.2007, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня многооконное приложение. Можно ли открыть MDIChild форму модально относительно MdiContainer?

Это сообщение отредактировал(а) mal - 21.6.2007, 09:49
PM   Вверх
tol05
Дата 21.6.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

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



ИМХО, нужно  использовать ShowDialog() для MDIChild. Пока MDIChild не закроется, вызвавший его код блокируется
Код

//Клик с MdiContainer
private void button1_Click(object sender, EventArgs e)
{
      f2.ShowDialog(); //MDIChild - форма
      ...
}



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
thomas
Дата 21.6.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



mal, 
конечно можно.

myForm.ShowDialog();
        


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
mal
Дата 21.6.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не получается
Код

About  frm = new About();
frm.MdiParent = this;
frm.ShowDialog();


Ошибка: Form that is not a top-level form cannot be displayed as a modal dialog box. Remove the form from any parent form before calling showDialog.
PM   Вверх
tol05
Дата 21.6.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

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



ну, а если так
Код

About  frm = new About();
frm.MdiParent = null;

frm.ShowDialog();

frm.MdiParent = this;


Это сообщение отредактировал(а) tol05 - 21.6.2007, 17:06


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
mal
Дата 22.6.2007, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



тоже самое что
Код

About  frm = new About();
frm.ShowDialog();

Открывается не MDIChild.
PM   Вверх
thomas
Дата 22.6.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



mal, 
Пройдись еще раз по проекту.
Создал родительскую форму.
В дизайнере родительская форма должна иметь темный фон, а в ее свойствах указано IsMdiContainer = true.
Дети вызываются обычно из меню по событию клик.
Код

 private void mnuArtNieuw_Click(object sender, EventArgs e)
        {
            Artikelen.frmArtNieuw myForm = new TestLuc.Artikelen.frmArtNieuw();
            myForm.MdiParent = this;
            myForm.StartPosition = FormStartPosition.CenterParent;
            myForm.Show(); // в твоем случае myForm.ShowDialog();
        }


Но перед этим нужно создать свою дочернюю форму в дизайнере. И вызываешь ее как указано выше.

Проверь свойства у главной формы.



--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
emmanuil
Дата 2.7.2007, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



MdiChild форму нельзя показать как диалоговое окно!!! Да и какой смысл тогда в том что она MdiChild. Просто бери форму не MdiChild, показывай и уничтожай, в чем проблема то?!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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