PDA

View Full Version : سوال: مشکل با RaiseEvent



shahin65
چهارشنبه 24 شهریور 1389, 22:48 عصر
درود
من تو يه کلاس تو برنامم از وينساک استفاده کردم و وقتی به وسيله RaiseEvent ميخوام ديتا گرفته شده رو تو برنامم نشون بدم خطا ميده

'
A first chance exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll
'Cross-thread operation not valid: Control 'TextBox1' accessed from a thread other than the thread it was created on.


تو سايت خيلی سرچ کردم اما به نتيجه اي نرسيدم
پروژه کوچيکی هم آپلود کردم تا مشکلم رو بهتر درک کنيد
خيلی ممنون ميشم اگه راهنمايی کنيد

http://up.iranblog.com/Files/cb413afe1a194e529339.zip

shahin65
جمعه 26 شهریور 1389, 18:47 عصر
يکی نيست اينو تست کنه؟؟؟

hossein-khoshseyar
شنبه 27 شهریور 1389, 14:10 عصر
دوست عزیز مشکل اینجاست که تو اجازه دسترسی به کنترل های یک ترد دیگه رو از توی ترد جاری نداری
2 تا راه حل داری
1) می تونه توی فرم لود اجازه دسترسی تردها ها به همدیگه رو بدی
2) دیتای گرفته شده رو توی یه متغیر عمومی بزاری بعد توی یک تایمر توی فرم برنامه اون رو توی لیبل نشون بدی

shahin65
یک شنبه 28 شهریور 1389, 06:44 صبح
خيلی ممنون که جواب دادی
به نظرم راه حل شماره يک منطقی تره، ميشه مثالی يا کدی يا راهنمايی کنيد چون نميدونم چطور ميشه دسترسی ايجاد کرد

hossein-khoshseyar
یک شنبه 28 شهریور 1389, 07:23 صبح
کار سختی نیست
توی فرم لودت بنویس

CheckForIllegalCrossThreadCalls =False