Вы не можете использовать Application.Run
- то есть для запуска приложения формы Windows (внутренний цикл сообщений, который является общим для всех форм в приложении), а не для отображения формы.Каждая форма имеет метод Show
и Hide
, поэтому вы должны просто вызвать:
private void button1_Click(object sender, EventArgs e)
{
Form3 f = new Form3(); // This is bad
f.Show();
}
Но вы не должны создавать форму каждый раз, когда хотите ее показать.Если вы хотите иметь только один экземпляр формы, вы должны сохранить его как глобальный и показывать или скрывать его только по требованию.В противном случае вам придется вызвать Close
вместо Hide
, чтобы очистить все ресурсы, которые использует форма.