در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

صادقیان

خطای oInvoke or BeginInvoke cannot be called در سی شارپ

سلام دوستان خسته نباشید ، من در پروژه م یک Thread به شکل زیر تعریف کردم منتها وقتی از متد Invoke استفاده می کنم با پیغام زیر مواجه میشم . دوستان تا وقتی که برنامه در حال اجراست برنامه به خوبی کار میکنه ولی وقتی برنامه رو میبندم پیغام خطای زیر ظاهر میشه. ممنون میشم راهنمایی کنید .

  private void Form1_Load(object sender, EventArgs e)
        {
            ThreadStart ts = new ThreadStart(show);
            Thread td = new Thread(ts);
            td.Start();
          
        }

   private void show ()
        {
         if (number == 0)
                {
                    toggleSwitch1.Invoke(new Action(() =>
                        {
                            toggleSwitch1.IsOn = true;
                        }));
                   
                }
                else if (number == 1)
                {
                    toggleSwitch1.Invoke(new Action(() =>
                    {
                        toggleSwitch1.IsOn = false;
                    }));

                    
                }
        }
وب سایت توسینسو
این سوال 1 پاسخ دارد.
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
حسین احمدی

سلام دوست عزیز، مشکل اینجا هست که Thread شما زمان بسته شدن فرم متوقف نمیشه و داخل کد Thread می خوایید به کنترل فرمی که دیگه وجود نداره دسترسی داشته باشید، راه حل اینه که قبل از بسته شدن فرم، یعنی رویداد Closing متد Abort رو برای Thread ایجاد شده فراخوانی کنید.

لطفاً سوال خود را در انجمن مطرح کنید، به سوالات در پیام خصوصی پاسخ داده نخواهد شد
  • انتخاب شده به عنوان جواب توسط 1 نفر
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....