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, элементы отображаются нормально. Для понятия проблемы прикрепил скрины.

PrintScreen


Ответы (0 шт):