Смущает в событии Form_Load
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Luanching.... This may take a few second");
............
}
Здесь, если я не нажму кнопку "ОК" в окне сообщения, мое окно не будет отображаться (будет ждать, пока я не нажму), как это исправить, как сделать так, чтобы форма отображалась первой или как сделать так, чтобы ожидание нажатия кнопки "ОК" не происходило
4 ответа
Другой вариант - поместить фонового работника в форму. Затем в событиях дважды щелкните "DoWork" в методе, который затем создается в коде, поместите messagebox.show. Таким образом, окно сообщения отображается в отдельном потоке, и загрузка формы будет продолжена
Просто, просто переместите код MessageBox в Shown
событие
private void Form1_Shown(object sender, EventArgs e)
{
MessageBox.Show("Luanching.... This may take a few second");
}
Событие Form1_Load
это точно, что это звучит, так что если вы вставите какой-то MessageBox
там, Form
будет загружаться только после ответа.
Рассмотрите возможность использования другого метода после Form
нагрузки.
Вам не нужно использовать MessageBox
, вы должны создать новый Form
который показывает сообщение. новый Form
будет работать в новом цикле сообщений, поэтому не будет блокировать пользовательский интерфейс, если его вызвать как
myForm.Show()
, где myForm
это экземпляр вашей формы.