#c# #winforms
#c# #winforms
Вопрос:
Я использую .Net Framework 4.0 и C #. Я хочу динамически создавать экземпляр формы в своем коде, пока основная форма остается отзывчивой. Является ли создание нового потока и вызов Application.Run(newForm)
единственным способом сделать это? Это просто выглядит как небольшая путаница для такой простой вещи. Я думал, что это должно быть настолько распространено, что фреймворк должен иметь какую-то встроенную функциональность для этого.
Комментарии:
1. Как вы показываете
Form
, с помощьюShowDialog()
илиShow()
?
Ответ №1:
Вам не нужен другой поток для создания новой формы, и не вызывайте Application.Run
второй раз. Пока вы не делаете ничего, что блокирует пользовательский интерфейс (и вы никогда не должны этого делать), обе формы будут работать просто отлично.
MyForm form = new MyForm();
form.Show();
Если вы вызовете ее ShowDialog
вместо Show
из своей первой формы, ваша первая форма будет заблокирована.