من یه جدول در اس کیو ال دارم که تعداد رکوردهاش خیلی بالاست و چون tableadapter رو هم در لود فرم مقدار میدم که داده ها رو بگیره و در gridview نمایش بده خیلی طول میکشه و فرم دیر نشون میده به همین دلیل از background worker استفاده کردم تا فرم نشون بده و در پشت زمینه داده ها لود بشه اما خطا داره ، هر چی sample هم نگاه کردم متوجه نشدم دوستان لطف کنید کمک کنید اگه راه بهتری هم سراغ دارید ممنون میشم ؟؟؟

public OrderFRM()
{


InitializeComponent();
this.backgroundWorker1.RunWorkerAsync();
}


private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
try
{
this.ordersTableAdapter.FillByFinancialPeriodFK(th is.oxygenDataSet.Orders, PublicClass.FinancialFK);




}
catch (Exception x)
{
MessageBox.Show(this, x.Message + "\n" + x.StackTrace, x.TargetSite.Name, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}