У меня есть метод RunForm (), который запускает модальное диалоговое окно для выполнения некоторой задачи:
static void RunForm() {
SomeForm form = new SomeForm();
Application.Run( form );
}
Я хочу несколько раз вызвать RunForm () из точки входа STAThread:
[STAThread]
static void Main() {
RunForm(); // Run form once
RunForm(); // Run form twice
RunForm(); // Run form etc.
}
В какой-то момент форма вызывает "Close ()" для себя, и, к сожалению, поток приложения завершается, и любой последующий вызов RunForm () завершается немедленно ...
Но если я закрою модальное диалоговое окно вручную, нажав верхнюю правую красную кнопку с крестиком, последующие вызовы RunForm () будут работать правильно (т. Е. Поток приложения по-прежнему работает каким-то образом).
Как автоматически запустить несколько модальных диалогов в последовательности?
(а в чем разница между закрытием вручную и программным вызовом метода Close ()?)