PDA

View Full Version : دو سوال ساده در مورد تایمر در سی شارپ



asd313
پنج شنبه 02 خرداد 1392, 10:48 صبح
دوستان سلام دوتا سوال داشتم

دوستان من یه تکست باکس توو پروژه گذاشتم که هر عددی در اون نوشته بشه اون به عنوان اینتروال تایمر باشه (کانورت میشه)حالا چند تا سوال داشتم اول اینکه چیکار کنم که اینتروالم ثانیه بشه نه میلی ثانیه سوال بعدی اینکه من چیکار کنم که اینتروال تایمرمو محدود کنم به این شکل که مثلا کسی حق نداشته باشه که اینتروال تایمر رو کمتر از سه ثانیه یا بیشتر از ده ثانیه کنه و اگه مثلا کمتر از سه ثانیه کرد یه هشدار بده و دوباره عدد برگرده سر همون سه ثانیه و اگه بیشتر از ده ثانیه کرد هم همینطور ! (هشدار ها مسیج باکس باشن)


ممنون میشم کمکم کنید نیاز دارم من نتونستم کاری کنم چشم امیدم اول به خدا بعد به شماست

مرسی

در پناه تنها برنامه نویس هستی . . .

یا علی

vira1368
پنج شنبه 02 خرداد 1392, 11:40 صبح
شما کافیه عددی رو که از ورودی میگیرد ضرب در 1000 کنید و برای اینتروال set کنید، اینجور برحسب ثانیه میشه.
برای کنترل رنج هم که خودتون همشو گفتین که با if میتونید پیاده سازی کنید.

khokhan
پنج شنبه 02 خرداد 1392, 11:54 صبح
سلام برا محدود کردن تکس باکس می تونی از این شیوه استفاده کنی


int val1=1,val2=3
try
{
val1 = Convert.ToInt32(txtbox1.Text);
val2 = Convert.ToIn32(textbox2.Text);
}
catch
{
MessageBox.Show("Invalid Input");
}

یا اینطوری بنویس


int num = -2;
bool conversionSuccessful = int.tryParse(txtbox1.Text, out num);
if(conversionSuccessful) {
if (num <= -1 && num >= 5) {
MessageBox.Show("لطفا ورودی شما بین 1 ای 5 باشد .");
return;
}
}

alexmcse
پنج شنبه 02 خرداد 1392, 12:10 عصر
دوستان سلام دوتا سوال داشتم

دوستان من یه تکست باکس توو پروژه گذاشتم که هر عددی در اون نوشته بشه اون به عنوان اینتروال تایمر باشه (کانورت میشه)حالا چند تا سوال داشتم اول اینکه چیکار کنم که اینتروالم ثانیه بشه نه میلی ثانیه سوال بعدی اینکه من چیکار کنم که اینتروال تایمرمو محدود کنم به این شکل که مثلا کسی حق نداشته باشه که اینتروال تایمر رو کمتر از سه ثانیه یا بیشتر از ده ثانیه کنه و اگه مثلا کمتر از سه ثانیه کرد یه هشدار بده و دوباره عدد برگرده سر همون سه ثانیه و اگه بیشتر از ده ثانیه کرد هم همینطور ! (هشدار ها مسیج باکس باشن)


ممنون میشم کمکم کنید نیاز دارم من نتونستم کاری کنم چشم امیدم اول به خدا بعد به شماست

مرسی

در پناه تنها برنامه نویس هستی . . .

یا علی



private void button1_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBox1.Text);
if (n < 3 )
{
n = 3;
textBox1.Text = n.ToString();
MessageBox.Show("عدد وارد شده بایدبزرگتر از 3باشد");
}

else if ( n > 10)
{
n = 10;
textBox1.Text = n.ToString();
MessageBox.Show("عدد وارد شده بایدکوچکتراز 10باشد");
}
else
{
n = n * 1000;
timer1.Interval = n;
}
}



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)))
{
e.Handled = true;
}
}

Mahmoud.Afrad
پنج شنبه 02 خرداد 1392, 12:28 عصر
برای دریافت میتونی از کنترل NumericUpDown استفاده کنی و محدودش کنی.