C# 如何避免在等待结果填充表时冻结表单(以及整个应用程序)。
我的应用程序使用devExpress“Office 2007”选项卡式样式。当我在表单中并单击填充DevExpress XtraGrid的按钮时,整个应用程序将冻结,直到结果填充到表中 我如何允许用户在等待结果时导航到应用程序中的其他“选项卡” 谢谢大家!C# 如何避免在等待结果填充表时冻结表单(以及整个应用程序)。,c#,.net,winforms,devexpress,C#,.net,Winforms,Devexpress,我的应用程序使用devExpress“Office 2007”选项卡式样式。当我在表单中并单击填充DevExpress XtraGrid的按钮时,整个应用程序将冻结,直到结果填充到表中 我如何允许用户在等待结果时导航到应用程序中的其他“选项卡” 谢谢大家! :)你想要这样的东西: Task.Factory.StartNew( () => { var object = //Populate your grid this.yourXtraGri
:)你想要这样的东西:
Task.Factory.StartNew(
() =>
{
var object = //Populate your grid
this.yourXtraGrid.BeginInvoke(new Action(() =>
{
this.yourXtraGrid.ItemSource = object ;
}));
});
您查看过即时反馈UI吗 如果您熟悉的话,这与PivotGrid中的异步模式类似
根据我的经验,您无法从另一个线程更新网格。使用
任务
或后台工作人员
。重复:虽然总体概念是重复的,但新程序员可能很难立即建立连接。下面提供的解决方案适用于给出问题的具体答案。