C# 从另一个线程设置数据源后,DataGridView winforms没有滚动条
我在winforms应用程序中使用模型视图演示者模式。我必须将一些数据绑定到gridView。我想在单独的线程中获取数据。我就是这么做的: 在presenter中,我调用:BackgroundWorker\u GetDataSourceFromFile。在这个方法中,我创建datasource并调用View.SetDataSet 在视图SetDataSet中:C# 从另一个线程设置数据源后,DataGridView winforms没有滚动条,c#,.net,winforms,C#,.net,Winforms,我在winforms应用程序中使用模型视图演示者模式。我必须将一些数据绑定到gridView。我想在单独的线程中获取数据。我就是这么做的: 在presenter中,我调用:BackgroundWorker\u GetDataSourceFromFile。在这个方法中,我创建datasource并调用View.SetDataSet 在视图SetDataSet中: DsGridView.DataSource = value; DsGridView.Refresh(); 除了滚动条,它是正常的。它们
DsGridView.DataSource = value;
DsGridView.Refresh();
除了滚动条,它是正常的。它们出现但不起作用:/
你们有谁有这样的问题吗
提前感谢您不能在UI线程以外的线程上使用WinForm控件。看,但是我没有得到任何例外,所以这意味着我可以,不是吗?不,没有。多线程错误会导致各种不可预测的行为。使用本例中的invokerrequired:[[1]:Ehhh,在我的示例中,我在我的控制器not视图中运行另一个线程,然后简单地设置我视图的数据源,这样就不同了问题。我没有像您给出的示例中那样出现跨线程调用错误