3
私は現在、仕事を使用してDataGridView
を記入しています。最初は、dataTable
と入力しても問題ありませんが、UIスレッドを続行すると、フォームが短期間応答しなくなります。フォームを使わないでデータグリッドビューを塗りつぶすにはどうすればいいですか?
このような不具合を避けるにはどうすればよいですか?
if (bar == null)
{
bar = CNPR.Controls.Helper.GetWaitingBar(this);
this.Controls.Add(bar);
}
bar.Visible = true;
bar.BringToFront();
bar.StartWaiting();
panel1.Enabled = false;
rasteTableBindingSource.DataSource = null;
var t = Task.Factory.StartNew(() => rasteTableTableAdapter.FillBySearch(chapYarDataSet.rasteTable))
.ContinueWith(delegate
{
bar.StopWaiting();
bar.Visible = false;
panel1.Enabled = true;
rasteTableBindingSource.DataMember = chapYarDataSet.rasteTable.TableName;
rasteTableBindingSource.DataSource = chapYarDataSet;
}, TaskScheduler.FromCurrentSynchronizationContext());
です:.NET 4.0と
Run
方法を使用することはできませんが、このオーバーロードを使用します私は.net 4を使っています:((。 NET 4のための別の解決策はありますか? –記事を読んだことがありますか?そこに解決策があります。答えを更新しました。 – VMAtm
'TaskCreationOptions'には、.net 4の' DenyChildAttach'というメンバーはありません((。 –