我的应用由 3 个选项卡组成,每个选项卡都有一个 DGV,选项卡 1 和 2 在 DGV 中不包含那么多数据,但在选项卡 3 中它可以在 100-5000 行之间
我遇到的问题是,当我启动我的应用程序并移动到选项卡 3 时,需要一段时间才能显示任何内容。
我正在寻找一种在将数据添加到 DGV 时向用户显示加载表单的方法。
我将如何完成这样的事情?
我的应用由 3 个选项卡组成,每个选项卡都有一个 DGV,选项卡 1 和 2 在 DGV 中不包含那么多数据,但在选项卡 3 中它可以在 100-5000 行之间
我遇到的问题是,当我启动我的应用程序并移动到选项卡 3 时,需要一段时间才能显示任何内容。
我正在寻找一种在将数据添加到 DGV 时向用户显示加载表单的方法。
我将如何完成这样的事情?
开始在后台线程上加载数据并监视进度(显示为进度条)。如果您在主线程上执行此操作,则会挂起您的界面。
长时间运行的操作应该在单独的工作线程中运行,通常是BackgroundWorker类。这可以防止 UI 在所述操作期间锁定。您还可以选择在此线程运行时显示加载对话框。
这里的其他答案是正确的。但是由于您特别询问了加载窗口,因此我记得Code Project中的一个非常好的示例。
在我参与的一个项目中,我们采用了这个例子并使其独立。我们添加了名为 Start 和 Stop 的静态方法,Start 方法将创建一个线程,然后加载窗口,而 Stop 方法发出它需要正常关闭的窗体的信号。
希望这可以帮助!