با تشکر از برنامه خوبی که گذاشتید ...

من در برنامه ام در زمانی که سیستم مشغول انجام عملیاتی هست از backgroundWorker استفاده کردم و متد ماسکی رو که شما در برنامتون نوشتید اجرا کردم به شکل زیر :


backgroundWorker1.RunWorkerAsync();
this.Cursor = Cursors.WaitCursor;

ShowMask("Sending ...");

//do somthing

HideMask();

backgroundWorker1.CancelAsync();
this.Cursor = Cursors.Default;


اما همچنان سیستم در زمان انجام عملیات هنگ میکند ... ( در نمونه ای که خودتون هم نوشتید این حالت هست)

در صورتی که در متد DoWork بنویسم با ارور زیر در متد ماسک مواجه میشم:
Cross-thread operation not valid: Control 'Pnl_Container' accessed from a thread other than the thread it was created on.

- برای اینکه در زمان انجام عملیات ماسک روی فرم رو بگیرد و سیستم هنگ نکند چه باید کرد؟