Поместите форму сверху и отключите других за ней - PullRequest
2 голосов
/ 12 марта 2012

У меня есть основная форма и другая форма. Основная форма всегда открыта, и через некоторое время она запустит другую форму.

Я пытался:

form.TopMost = true;

Но это только помещает форму сверху. Форма позади (Основная форма) все еще может быть доступна.

Как я могу получить такое же поведение, как когда я делаю OpenFileDialog и отключаю основную форму позади него?

(Заранее спасибо)

Ответы [ 2 ]

5 голосов
/ 12 марта 2012

Вам нужно сделать вашу форму модальной . Для этого используйте ShowDialog вместо Show, чтобы отобразить его (так же, как в диалоговом окне).

Также обратите внимание, что формы, показанные с помощью ShowDialog, на самом деле не закрываются и не удаляются при нажатии на кнопку «Закрыть», поэтому вы должны утилизировать их вручную. Обычный способ справиться с их временем жизни - использовать конструкцию using:

using (var form = new SomeForm())
{
    form.ShowDialog();
    // do stuff after the dialog is closed
}
0 голосов
/ 12 марта 2012

Form.ShowDialog (); где форма - это верхняя форма, которая должна быть запущена. Поэтому при запуске верхней формы просто добавьте form.showdialog ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...