نقل قول: ایراد در کد تایمر
تنها دلیلی که به نظر من میرسه اینه که شما با progressBar1.Value = 100 شروع میکنید. واسه محکم کاری، توی Form1_Load، کد progressBar1.Value = 0 رو بنویسید.
نقل قول: ایراد در کد تایمر
دوست عزیز اگر تو کد نگاه کرده باشی اول با مقدار 10 شروع کردم و تو شرطم گفتم اگر برابر 100 پیغام بده ودر نهایت دیگر نباید ان کد اجرا شود ولی در پیغام خطا می گوید مقدار تو از 100 بیشتر شده است
نقل قول: ایراد در کد تایمر
چون اول اضافه میکنی بعد چک میکنی چنده!
بجای کد :
progressBar1.Value += 10; if (progressBar1.Value == 100)
{
MessageBox.Show(" با موفقیت انجام شد");
timer1.Enabled = false;
//progressBar1.Value -= 100;
}
بنویس :
[CODE]
if (progressBar1.Value == 100)
{
MessageBox.Show(" با موفقیت انجام شد");
timer1.Enabled = false;
//progressBar1.Value -= 100;
}
progressBar1.Value += 10;
[CODE/]
نقل قول: ایراد در کد تایمر
خوب من در اینجا شرط گزاشتم پس نباید مشکلی باشه
نقل قول: ایراد در کد تایمر
اول شرط رو چک کن بعدش ده رو اضافه کن
نقل قول: ایراد در کد تایمر
چجوری کد رو درست میذارین؟ من که هر کاری میکنم کد هام رو تو پست ها درست نمایش نمیده
:گریه::گریه:
نقل قول: ایراد در کد تایمر
من قبلا این کارو کردم می دونی چه اتفاقی می افته برنامه اجرا می شود ولی مدام پیغام مسیج باکس را ظاهر می کن بصورت پی در پی
نقل قول: ایراد در کد تایمر
به نظرم بعد از این کارها تایمر متوقف نمی شود
نقل قول: ایراد در کد تایمر
شما با 10 شروع نکردی. به مقدار قبلی (که شاید 100 بوده) 10تا اضافه کردی. کد منو تست کن لطفاً
نقل قول: ایراد در کد تایمر
نقل قول:
نوشته شده توسط
mohammad272005
شما با 10 شروع نکردی. به مقدار قبلی (که شاید 100 بوده) 10تا اضافه کردی. کد منو تست کن لطفاً
در فرم
اول با 10 شروع نکردی یعنی چه
دوم در فرم لود مقدار نوار میله ای را برابر 0 کردم ولی نشد همان پیغام را می دهد
نقل قول: ایراد در کد تایمر
یه احتمال دیگه هم هست. کد بعد از خط MessageBox.Show(" با موفقیت انجام شد");
اتفاق نمیافته، مگه اینکه کلید اوکی رو بزنید. حالا، اگه قبل از فسار دادن کلید اوکی، interval بعدی اتفاق بیفته، هنوز مقدار Value صفر نشده. پس 10تا بهش اضافه میشه
نقل قول: ایراد در کد تایمر
دو تا کار انجام بده
اول اینکه اونجایی که تایمر رو استارت میکنی قبلش مقدار پروگرس بار رو صفر کن و دوما کد رو اینگونه تغییر بده ببین درست میشه ؟ :
timer1.Enabled=true;
if(progressBar.Value==100)
{
MessageBox.show(.....
progressbar.value=0;
timer.Enabled=false;
}
if(timer.Enabled)
progressbar.Value+=10;
:لبخند: فقط این شبه کد دیگه ، خدت زحمت درست نوشتنشو بکش :چشمک:
نقل قول: ایراد در کد تایمر
با سلام
من یک بار در فرم لود مقدار نوار میله ای را صفر کردم نشد و هم در خود تکه کد تایمر باز هم نشد
از دوستان کسی نیست راهنمایی بکنه یه نکته ریز داره که من نمی دونم
نقل قول: ایراد در کد تایمر
کدی که گفتم رو زدی ؟
نکته رو گفتم دیگه! دقت کن :
...
if(timer.Enabled)
progressbar.Value+=10;
ترتیب کدها هم مهم!
نقل قول: ایراد در کد تایمر
اول تایمرو از کار بنداز بعد مسیجو نشون بده
timer1.Enabled = false;
MessageBox.Show(" با موفقیت انجام شد");
نقل قول: ایراد در کد تایمر
تشکر از همه دوستان و همچنین اقای hamid_hr
نکته این مسئله دقیقا در همین تکه کد بالا می باشد که باید تایمر را سریع خاموش کرد و بعد دنبال دستورات دیگه رفت.