C# 表单加载接口

C# 表单加载接口,c#,winforms,C#,Winforms,在我的form_load中,我有一个mysql连接,它在datagrid中加载数据,当启动我的应用程序时,它将首先尝试加载mysql数据库,完成后,它将加载带有所有控件的表单/接口 这给用户留下的印象是什么都没有发生,我如何首先加载表单/界面和所有控件,然后加载我的mysql数据库?使用其他线程从mysql加载数据。它首先加载表单,但在代码完成工作之前不显示表单 new Thread(new ThreadStart(LoadDataMethodHere)).Start(); 使用其他线程从my

在我的form_load中,我有一个mysql连接,它在datagrid中加载数据,当启动我的应用程序时,它将首先尝试加载mysql数据库,完成后,它将加载带有所有控件的表单/接口


这给用户留下的印象是什么都没有发生,我如何首先加载表单/界面和所有控件,然后加载我的mysql数据库?

使用其他线程从mysql加载数据。它首先加载表单,但在代码完成工作之前不显示表单

new Thread(new ThreadStart(LoadDataMethodHere)).Start();

使用其他线程从mysql加载数据。它首先加载表单,但在代码完成工作之前不显示表单

new Thread(new ThreadStart(LoadDataMethodHere)).Start();

使用其他线程从mysql加载数据。它首先加载表单,但在代码完成工作之前不显示表单

new Thread(new ThreadStart(LoadDataMethodHere)).Start();

使用其他线程从mysql加载数据。它首先加载表单,但在代码完成工作之前不显示表单

new Thread(new ThreadStart(LoadDataMethodHere)).Start();
您可以使用事件

或者,您可以使用不同的线程连接到数据库并显示数据或使用计时器。

您可以使用事件

或者,您可以使用不同的线程连接到数据库并显示数据或使用计时器。

您可以使用事件

或者,您可以使用不同的线程连接到数据库并显示数据或使用计时器。

您可以使用事件


或者,您可以使用不同的线程连接到数据库并显示数据或使用计时器。

将代码移动到
显示的事件或
显示的方法。这将允许您的表单在加载网格之前显示给用户

您还应该将“数据库调用”移动到工作线程

protected override void OnShown(EventArgs e)
{
    //Delegate the DB calls to worker threads here 
    //everything will be smooth then..
    base.OnShown(e);
}

将代码移动到显示的事件或显示的方法。这将允许您的表单在加载网格之前显示给用户

您还应该将“数据库调用”移动到工作线程

protected override void OnShown(EventArgs e)
{
    //Delegate the DB calls to worker threads here 
    //everything will be smooth then..
    base.OnShown(e);
}

将代码移动到显示的事件或显示的方法。这将允许您的表单在加载网格之前显示给用户

您还应该将“数据库调用”移动到工作线程

protected override void OnShown(EventArgs e)
{
    //Delegate the DB calls to worker threads here 
    //everything will be smooth then..
    base.OnShown(e);
}

将代码移动到显示的事件或显示的方法。这将允许您的表单在加载网格之前显示给用户

您还应该将“数据库调用”移动到工作线程

protected override void OnShown(EventArgs e)
{
    //Delegate the DB calls to worker threads here 
    //everything will be smooth then..
    base.OnShown(e);
}

有两种方法可以解决这种情况。您需要选择最适合您需要的方法

方法1:创建一个启动屏幕。启动屏幕是一个打开的小窗口,通常有产品信息和类似“初始化…”的消息。在很多应用程序中都可以看到这一点,例如Microsoft Office。你可以看看如何制作一个


方法2:您需要使加载数据发生在一个单独的线程中,然后是UI。您需要在单独的线程中加载数据,并将其临时绑定到某种类型的列表,然后在完成后,将列表绑定到数据网格。有两种方法可以解决这种情况。您需要选择最适合您需要的方法

方法1:创建一个启动屏幕。启动屏幕是一个打开的小窗口,通常有产品信息和类似“初始化…”的消息。在很多应用程序中都可以看到这一点,例如Microsoft Office。你可以看看如何制作一个


方法2:您需要使加载数据发生在一个单独的线程中,然后是UI。您需要在单独的线程中加载数据,并将其临时绑定到某种类型的列表,然后在完成后,将列表绑定到数据网格。有两种方法可以解决这种情况。您需要选择最适合您需要的方法

方法1:创建一个启动屏幕。启动屏幕是一个打开的小窗口,通常有产品信息和类似“初始化…”的消息。在很多应用程序中都可以看到这一点,例如Microsoft Office。你可以看看如何制作一个


方法2:您需要使加载数据发生在一个单独的线程中,然后是UI。您需要在单独的线程中加载数据,并将其临时绑定到某种类型的列表,然后在完成后,将列表绑定到数据网格。有两种方法可以解决这种情况。您需要选择最适合您需要的方法

方法1:创建一个启动屏幕。启动屏幕是一个打开的小窗口,通常有产品信息和类似“初始化…”的消息。在很多应用程序中都可以看到这一点,例如Microsoft Office。你可以看看如何制作一个


方法2:您需要使加载数据发生在一个单独的线程中,然后是UI。您需要在单独的线程中加载数据,并将其临时绑定到某种类型的列表,然后在完成后,将列表绑定到您的数据网格

1-单独的启动屏幕

2-在表单“启动屏幕”上-您在
表单.load
上做的第一件事是
Me.Show()
,然后显示一条消息,如“数据加载时请稍候”。也可以使用
Application.DoEvents
向用户显示进度,这将刷新您的屏幕


3-后台工作线程。使用它,您实际上可以为用户提供进度更新。这将使您的表单完全响应

我想说,有三种方法

1-单独的启动屏幕

2-在表单“启动屏幕”上-您在
表单.load
上做的第一件事是
Me.Show()
,然后显示一条消息,如“数据加载时请稍候”。也可以使用
Application.DoEvents
向用户显示进度,这将刷新您的屏幕


3-后台工作线程。使用它,您实际上可以为用户提供进度更新。这将使您的表单完全响应

我想说,有三种方法

1-单独的启动屏幕

2-在“启动屏幕”表格上-