با سلام بنده برنامه ای مبنی بر فرم لطفا چند لحظه صبر کنید پیدا کردم که با مثال خودش جواب میده چون در اون هیچ دسترسی به منابع خارج نداره و فقط یه sleep ساده است
بنده برای فرم چون تا گرید پربشه طول میکشه این متد رو استفاده کردم و زمانی که در تابع به خط
dataGridView_Result.Columns.Add("shrh", "عنوان");
میرسه خطای زیر رو مبنی بر استفاده در بیش از چند نخ میده برای حل این مشکل لطفا راهنمایی بفرمایید.
خطا :
"Cross-thread operation not valid: Control 'dataGridView_Result' accessed from a thread other than the thread it was created on."
معمولا کامپوننت ها برای استفاده شدن در Thread متدی دارند با عنوان Invoke باید از اون استفاده کنید
اگر از Windows Form استفاده میکنید پیشنهاد میکنم از BackgroundWorker استفاده کنید
سلام و خسته نباشید
مورد استفاده بنده به این صورت است که اطلاعات زیادی وارد گرید ویو میشه و همین موضوع باعث میشه فرم برای یک لحظه کوتاه بالا بیاد و رنگ فرم دیده بشه بعد هنگ مینه تا زمانی که گارش تموم بشه
حالا میخاستم با این کار ابتدا فرمی به عنوان لطفا صبر کنید دیده بشه و بعد از اتمام فرم اصلی دیدهخ بشه
طبق نمومنه شما استاد گرامی در سایت برنامه نویس که پروژه ای گذاشته بودید انجام دادم ولی زمانی که به خط کد بالا میرسید خطای مورد نظر میده
در مورد invok هم جستجو کردم ولی کمی مطالبش سنگین بود برای همین در خواست راهنمایی دارم
با تشکر
موفق باشید
نمونه زیر رو ببینید
سلام استاد با تشکر از راهنمایی شما
سوال دیگه داشتم
اگه از بک گروند استفاده کنم دیگه نمیشه تا قبل از اینکه گرید پربشه فرم hide باشه و فرم لطفا صبر کنید یا همون splash تو devexpress نمایش داده بشه و وقتی پروسه لود فرم تموم شد فرم show و فرم لطفا صبر کنید تموم بشه
لطفا راهنمایی کنید
با تشکر از صبر و تحمل شما در مقابل ما اماتورها
سلام
با اجازه آقای مدائنی
توی Thread شما نمی تونی به کنترل های Thread دیگه بطور مستقیم دسترسی داشته باشی. برای دسترسی باید به این شکل عمل کنی :
if (Grid1.InvokeRequired) Grid1.Invoke((MethodInvoker) delegate { Methode1(); }); else Methode1();
توی این کد اسم گرید و متد خودتونو بنویسید. اگرم لودیگ یا هر چیز دیگه ای میخوای قبل از این کد لودینگ رو نشون بده آخره اون متد لودینگ رو مخفی کن
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)