WinForm не отображаются элементы формы пока идет загрузка
Было реализовано некое приложение, Programm просто вызывал форму.
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
В MainForm идет загрузка данных из бд, что требует некоторого времени. Решил реализовать форму загрузки, чтобы пользователь понимал, что программа грузится.
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new LoadingForm());
}
}
public partial class LoadingForm : Form
{
public LoadingForm() { InitializeComponent(); }
private void LoadingForm_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(ThreadMethod));
thread.Start();
}
void ThreadMethod()
{
if (InvokeRequired)
{
Invoke((MethodInvoker)delegate
{
MainForm form = new MainForm();
form.Show();
this.Hide();
});
}
}
}
И вот тут появилась проблема, элементы на LoadingForm не отображаются, пока идет загрузка MainForm. Как только загружается MainForm, элементы отображаются нормально. Для понятия проблемы прикрепил скрины.
