با سلام
چرا وقتی برنامه تو یه حلقه که مثلا" چند دقیقه کارش طول می کشد است اگر روی دکمه دیگری کلیک کنیم کار نمی کند؟
با سلام
چرا وقتی برنامه تو یه حلقه که مثلا" چند دقیقه کارش طول می کشد است اگر روی دکمه دیگری کلیک کنیم کار نمی کند؟
شما باید از تکنیک چند نخی (Multi-threading) استفاده کنید. باید یک Thread درست کنید و پردازش های سنگین را داخل آن راه بیاندازید.
به صورت پیشفرض برنامه شما تنها یک نخ داره. نخ ها به صورت موازی با هم کار می کنند. کار نکردن فرم شما وقتی که هنوز پردازشی انجام می شه هم به این دلیله که همه ی کاراتون رو نخ پیشفرض انجام می ده.
تاپيك زير رو ببينيد : https://barnamenevis.org/showthread.php?t=109257
میشه بگین الان به این کد چی اضافه کنم که گیر نکنه و در حین اجرای این حلقه دکمه های دیگه هم کار کنند؟
اگر فقط ميخواهيد در زمان اجراي حلقه بتوانيد با ساير اجزاي فرم كار كنيد كد زير را درون حلقه اضافه كنيد :
Application.DoEvents();
از راهنماییتون ممنون بهتر شد تو اجرای دوباره حلقه به دکمه های دیگه توجه می کنه اما چون یکی از کارهایی هم که توی حلقه وجود دارد زمان بر است باز به اون که می رسه گیر می کنه
اون فیلم هایی هم که لینک دادین دانلود کردم اما انقدر صدای گوینده نا مفهوم بود و تند تند حرف می زد چیزی نفهمیدم آخه بعضی چیزاشم توضیح نداده بود و فقط می گفت این کد رو به این شکل می نویسیم
چیزی که از bgworker فهمیدم اینه که اون چیزی که زمان بر هست را توی یه تابع می نویسیم
سپس روی دکمه ای که می خواهیم کار تابع را آغار کند به جای اینکه تابع را صدا بزنیم bg را صدا می زنیم
اما از اینجا به بعدش مفهوم نبود
مثلا" اینکه تابع من void هست و آرگومانی نمی گیرد و bg که می خواهم صدا بزنم هم نمی خواهم آرگومان بگیرد اما بعد باید یه چیزی به resultesh بفرستم که نمیشه
اصلا" یه برنامه کوچولو نوشتم که اینجا بذارم ببینید چطوری میشه درستش کرد
فایل 1.rar کار می کنه اما طول می کشه و همه چیز از کار می افته
فایل 2.rar شبیه چیزی که تو فیلم و یه تایک دیگه دیده بودم در مورد bgworker تغییرش دادم و دیگه کار نمی کنه
حالا شما حداقل تغییرات را روی فایل 2 بدهید تا کار کنه
برای اجرا هم اول دکمه 2 را زده و از شاخه ویندوز فولدر Help را انتخاب کنید سپس دکمه 1 را بزنید
این یکی رو هم خواستم با thread درستش کنم اما بعد از انجام کار دکمه 2 وقتی دکمه 1 را می زنم از برنامه می پره بیرون
کسی فایل ها رو دید؟
من فایل اول رو درست کردم یه نگاه بنداز (با Multi Threading)
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
فایل رو دیدم اما کار نمی کرد اما همون فایل 3 که گذاشته بودم درست بود ولی از تو خود دات نت می پرید بیرون که نمی دونم چرا اما بعد که فایل exasho باز می کنم همه چی درست کار می کنه
اما کار با bgworkero میشه یکی ساده توضیح بده؟
نگوووووفایل رو دیدم اما کار نمی کرد
به جان خودم کار می کرد!!! (و می کنه)
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin