C# 用户界面的异步更新

C# 用户界面的异步更新,c#,winforms,C#,Winforms,我有datagridview,需要在单独的线程上更新它。或者甚至在同一线程上,但仅当数据准备就绪时。我有90%的数据加载马上,并希望显示给用户。然后我又有两列,有时可以加载20多秒,并希望在数据准备就绪后尽快更新它们。实现这一点的最佳方法是什么?在WinForms中,您最好的选择是,它是一个很好的类,可以在不同的线程上工作并更新基于WinForms的UI。由于没有看到任何代码,我建议您创建自己的事件。数据准备好后,抛出一个以新数据为参数的新事件,然后加载该事件。不过,这将发生在同一个UI线程上

我有datagridview,需要在单独的线程上更新它。或者甚至在同一线程上,但仅当数据准备就绪时。我有90%的数据加载马上,并希望显示给用户。然后我又有两列,有时可以加载20多秒,并希望在数据准备就绪后尽快更新它们。实现这一点的最佳方法是什么?

在WinForms中,您最好的选择是,它是一个很好的类,可以在不同的线程上工作并更新基于WinForms的UI。

由于没有看到任何代码,我建议您创建自己的事件。数据准备好后,抛出一个以新数据为参数的新事件,然后加载该事件。不过,这将发生在同一个UI线程上


不确定你是否已经有了一种方法来完成投票。让一个线程在后台运行,然后只进行轮询并不难。

剩下的10%的数据来自哪里?你和什么有关?在这种情况下,你是不是只点击了一次数据源的“90%”,然后再单独点击一次以获取其余的数据?

backgroundworker:请查看评论,这是重复的。这并不意味着@Matt应该失去信用。是吗?人们已经忘恩负义了。@Sanjeevakumar请检查时间戳,评论和我的回答是同时发布的。@Sanjeevakumar即使他们在不同的时间发布,也没关系。这个答案告诉我我需要什么。这是我唯一可以标记为答案的答案,因为其他答案都是评论。是的,没错。90%的数据以1次加载的形式输入。然后剩下的10%会被逐行加载。。