Как открыть закрытую форму окна в C#.NET?

Я хотел бы открыть закрытую форму окна в C#.

Я фактически активно закрываю форму, чтобы позволить сценариям autoIT запускаться в другом приложении Windows. Однако я хотел бы снова открыть ту же форму после того, как скрипты выполнены.

Так...

this.Close();
.
.
.
Application.Run(new FormTestPage());

Однако это дает мне ошибку, которая говорит использовать вместо Form.ShowDialogue. Я не уверен, как это работает. Заранее спасибо!!

2 ответа

Решение

Если вы закрыли основную форму и запустили приложение с

var frm = new MainForm();
Application.Run(frm);

Затем закрытие основной формы также закроет приложение. Запустите приложение, как это вместо этого

var frm = new MainForm();
frm.Show();
Application.Run();

Теперь, когда приложение должно закрыться, вы должны позвонить Exit (потому что он больше не закрывается автоматически):

Application.Exit();

Вы можете сделать это в основной форме в FormClosed событие, когда вы не просто временно закрыли форму.

Теперь вы можете снова открыть форму с помощью:

var frm = new MainForm();
frm.Show();
var item = new FormTestPage();
item.ShowDialog();
Другие вопросы по тегам