Tôi có một ứng dụng mà tôi đang làm một cái gì đó rất giống nhau sử dụng Threading. Mã này nên cập nhật dòng dữ liệu của bạn một dòng tại một thời điểm trong khi mã phía sau đang chạy.
using System.Windows.Threading;
private void Run()
{
try
{
var t = new Thread(Read) { IsBackground = true };
t.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Read()
{
foreach (/* whatever you are looping through */)
{
/* I recommend creating a class for the result use that for the
datagrid filling. */
var sr = new ResultClass()
/* do all you code to generate your results */
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
(ThreadStart)(() => dgResults.AddItem(sr)));
}
}
Nguồn
2011-12-13 19:57:54