تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: Cross-thread operation not valid در ايجاد event

  1. #1
    داره خودمونی میشه Reza_mostafavi63's Avatar
    تاريخ عضويت
    Feb 2008
    پست ها
    90

    پيش فرض Cross-thread operation not valid در ايجاد event

    با سلام به دوستان مشكل من در ايجاد يك event براي كلاسي هست كه طراحي كردم . تنها چيزي هم كه ميخوام اينه كه به صورت عادي (مثل event هاي Button , Timer , TextBox, ...) باهاش تو برنامه كار كنم . ولي نميدونم اشكال كدم كجاس
    كدها به صورت زير تعريف شده اند :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    اينم كد فرم اصلي :



    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    متاسفانه در هنگام اجرا با خطاي Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on. مواجه ميشم .


    چرا نميتونم عين كامپوننت هاي ديگه از Event تش استفاده كنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    Mer28+2

  2. #2
    کاربر فعال انجمن گنو/لینوکس Open-Source's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    usr/src/linux/
    پست ها
    763

    پيش فرض

    پیغام خطاش کاملا واضح هستش.
    شما یه آبجکت رو توی یه ترد (ترد اصلی) دارید و میخواید توی یه ترد دیگه (که توی کلاس تعریف کردی) استفاده کنید که با خطا مواجه میشد.
    برای رفع این مشکل باید از خصوصیت invokerequard (البته درست یادم نیست) از آبجکتتون استفاده کنید.

    (الان Net. دم دستم نیست که تست کنم)

  3. این کاربر از Open-Source بخاطر این مطلب مفید تشکر کرده است


  4. #3
    داره خودمونی میشه Reza_mostafavi63's Avatar
    تاريخ عضويت
    Feb 2008
    پست ها
    90

    پيش فرض

    برای رفع این مشکل باید از خصوصیت invokerequard (البته درست یادم نیست) از آبجکتتون استفاده کنید.
    روشي كه شما ميگيد فكر كنم اين باشه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اين كار رو نميتونم انجام بدم چون اين Invoke فقط روي Control ها تعريف شده .

    در هر حال مشكل من با خط زير بر طرف شد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    فقط نميدونم خود دات نت از چه روشي استفاده ميكنه . كه كلاس هاش بدون مشكل ميتونن با كنترل اصلي كار كنن . مثل Timer

  5. #4
    کاربر فعال انجمن گنو/لینوکس Open-Source's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    usr/src/linux/
    پست ها
    763

    پيش فرض

    روشي كه شما ميگيد فكر كنم اين باشه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اين كار رو نميتونم انجام بدم چون اين Invoke فقط روي Control ها تعريف شده .

    در هر حال مشكل من با خط زير بر طرف شد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    فقط نميدونم خود دات نت از چه روشي استفاده ميكنه . كه كلاس هاش بدون مشكل ميتونن با كنترل اصلي كار كنن . مثل Timer
    این روش ، فکر نکنم روش مناسبی باشه.
    بازم یه سرچی توی MSDN بزن.
    من فردا این رو تست میکنم اگه به نتیجه رسیدم اینجا قرار میدم.

    موفق باشی...

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •