مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ehsan hosseinnejad

عضویت از 1396/11/10

RichTextBox.Append("Text") در یک بک گراندورکر که از یک Delegate ارسال شده و حاوی یک دیتاتیبل است

  • چهارشنبه 7 فروردین 1398
  • 13:01
تشکر میکنم

سلام 

در فرم والد من یک دیتاگرید ویوهست که می خوام اکسپورت کنم. بنا به شرایطی مجبورم این تیبل رو در فرم والد بسازم و در فرم فرزند دریافت کنم که این اسال و دریافت توسط Delegate انجام میشه. سپس در سمت فرم فرزند یک Backgroundworker در تابع Delegate پس از دریافت جدول، اجراء خواهد شد. در  Backgroundworker ابتدا یک متن در یک RichTextBox نوشته خواهد شد و کاربر را در جریان مرحله انجام کار قرار خواهد داد. تا قسمت DoWorKer و اجرای متد هیچ مشکلی به وجود نمی آید (در Backgroundworker از <=()this.Invoke  برای نوشتن متن استفاده می کنم که Cross_Threading نشه) اما این در قسمت ProgressChanged جواب نمیده و خطای Cross_Threading رخ میده. آیا راهی هست که انجام بشه؟ یا راه بهتری برای انجامش وجود داره؟

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

hamzehsh

عضویت از 1396/01/12

  • یکشنبه 18 فروردین 1398
  • 01:21

دقیق متوجه نشدم که چی شده ولی فکر کنم با شرط درست بشه

            if(!backgroundWorker1.IsBusy)
                backgroundWorker1.RunWorkerAsync();

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)