View Full Version : مبتدی: اجرای یک حلقه هر 5 ثانیه یکبار
shahin60
شنبه 05 مهر 1393, 23:37 عصر
سلام به دوستان عزیز
یه حلقه دارم میخوام هر 5 ثانیه یه i++ بشه
مثل این:
for (int i = 0; i < 50; i++)
{
lbl_Msg.Text = dt1[i]["NAME"].ToString();
}
ممنون میشم راهنمایی کنید.
fakhravari
یک شنبه 06 مهر 1393, 00:01 صبح
System.Threading.Thread.Sleep(5000);
ciph3r
یک شنبه 06 مهر 1393, 00:04 صبح
خوب دوست عزیز شما یه تایمر بزار و با قرار دادن شرط if داخل حلقت میتونی این کار رو انجام بدی ولی برای این کار حلقه while هم بد نیست
shahin60
یک شنبه 06 مهر 1393, 00:06 صبح
System.Threading.Thread.Sleep(5000);
اینو تست کرده بودم سیستم کلا متوقف میشه مثل ساعت و سایر پردازش ها
shahin60
یک شنبه 06 مهر 1393, 00:07 صبح
خوب دوست عزیز شما یه تایمر بزار و با قرار دادن شرط if داخل حلقت میتونی این کار رو انجام بدی ولی برای این کار حلقه while هم بد نیست
بیشترراهنمایی کنید
samanelf
یک شنبه 06 مهر 1393, 00:30 صبح
یه تایمر اضافه کن و تو اونتش دستور مرود نظر رو بنویس
shahin60
یک شنبه 06 مهر 1393, 00:35 صبح
اونطوری حلقه هر 5 ثانیه اجرا میشه من میخوام واحد حلقه یکی اضافه بشه i++
حمید رضا رحیمیان
یک شنبه 06 مهر 1393, 00:36 صبح
http://stackoverflow.com/questions/17418820/implementing-a-loop-using-a-timer-in-c-sharp
http://stackoverflow.com/questions/17745594/c-sharp-mix-timer-and-loop
جستجو کنید بیشتر به نتیجه میرسید
samanelf
یک شنبه 06 مهر 1393, 00:41 صبح
خوب با یه دستور شرطی این کار رو بکنین نمونه کد حلقه رو بذارین لطفا کمک بیشتری بکنم
omid nasri
یک شنبه 06 مهر 1393, 00:46 صبح
اگه نمیخواید از حلفه استفاده کنید از نخ استفاده کنید.
اینم کلاسش :
system.threading;
shahin60
یک شنبه 06 مهر 1393, 00:49 صبح
من که حلقه نمونه رو گذاشتم بگید به چه شکل؟ از نخ که استفاده می کنم ساعت برنامه متوقف میشه
aminmousavi
یک شنبه 06 مهر 1393, 03:34 صبح
سلام دوست عزیز . ساده ترین راه استفاده از تایمر هست . برای پیاده سازیش به این شکل عمل کنید :
- یک متغیر int i به صورت Global تعریف کنید
public partial class Form11 : Form
{
int i = 0;
.
.
.
- interval تایمر رو برابر با 5000 قرار بده
- کد Tick تایمرت هم میشه :
if (i < 50)
{
i++;
}
gerdioz
یک شنبه 06 مهر 1393, 16:37 عصر
سلام از همون نخ استفاده کن فقط قبلش تو فرمت این و بزار
CheckForIllegalCrossThreadCalls = false;
shahin60
یک شنبه 06 مهر 1393, 20:33 عصر
آقا نشد که نشد... راهنمایی کنید؟
fakhravari
یک شنبه 06 مهر 1393, 23:43 عصر
shahin60 (http://barnamenevis.org/member.php?196103-shahin60) :متفکر:
فکر کنم مشکل از خودتونه
shahin60
دوشنبه 07 مهر 1393, 00:11 صبح
دوستان نرید تو حاشیه
یه روش منطقی البته قابل اجرا لطفا بگیذ
همه رو تست کردم نتیجه نداد
دلتنگ اسمان
دوشنبه 07 مهر 1393, 06:26 صبح
دوستان نرید تو حاشیه
یه روش منطقی البته قابل اجرا لطفا بگیذ
همه رو تست کردم نتیجه نداد
کدی که در پست شماره 12 (aminmousavi (http://barnamenevis.org/member.php?338620-aminmousavi))گفته شده رو من تست کردم ، جواب داد . اول برنامه رو بصورت خیلی ساده یعنی یه حلقه for ساده و یه تایمر تست کن بعد گسترش بده.
shahin60
دوشنبه 07 مهر 1393, 18:11 عصر
کدی که در پست شماره 12 (aminmousavi (http://barnamenevis.org/member.php?338620-aminmousavi))گفته شده رو من تست کردم ، جواب داد . اول برنامه رو بصورت خیلی ساده یعنی یه حلقه for ساده و یه تایمر تست کن بعد گسترش بده.
مشکل اینه که کد اصلی رو کجا بزارم چون من تو کد اصلی اطلاعات از بانک می خونم و با این روش وقتی تو تایمر بزارم هر دفعه اطلاعات رفرش میشه
juza66
دوشنبه 07 مهر 1393, 19:22 عصر
سلام
شما دقیقا هر 5ثانیه می خواهید یک i++انجام بدید؟!
در دیتابیس یا در دیتا گرید؟!
متوجه این کد نشدم؟!
dt1[i]["NAME"].ToString();
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.