PDA

View Full Version : TextBox با خاصیت ورود عدد



amin.net
چهارشنبه 21 مرداد 1394, 00:17 صبح
سلام،میخوام برنامه ای بنویسم که رقمی رو از بین 0 تا 9 رو از کاربر بگیره و معادل لاتین رو به کاربر تحویل بده،این کدشه:



private void btnChange_Click(object sender, EventArgs e)
{


if (textBox1.Text == "")
{lb_Show.Text = "Please enter a number";}
else
{
int a = Convert.ToInt32(textBox1.Text);
switch (a)
{
case 0:
lb_Show.Text = "zero";
break;
case 1:
lb_Show.Text = "one";
break;
case 2:
lb_Show.Text = "two";
break;
case 3:
lb_Show.Text = "three";
break;
case 4:
lb_Show.Text = "four";
break;
case 5:
lb_Show.Text = "five";
break;
case 6:
lb_Show.Text = "six";
break;
case 7:
lb_Show.Text = "seven";
break;
case 8:
lb_Show.Text = "eight";
break;
case 9:
lb_Show.Text = "nine";
break;
default:
lb_Show.Text = "Number not in 0...9 range";
break;
}
}
}


حالا میخوام کدی بنویسم که اگه کاربر توی TextBox رشته وارد کرد،برنامه پیغام بده که عدد وارد کنید،ممنون

بیتا حکمت
چهارشنبه 21 مرداد 1394, 00:56 صبح
سلام ، شما می تونید تکست باکس رو فقط برای دریافت عدد تنظیم کنید ، یعنی اصلا حرف داخل تکست باکس تایپ نشه !

http://barnamenevis.org/showthread.php?184573-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%D8%B9%D8%AF%D8%AF-%D8%AF%D8%B1-textbox

amin.net
چهارشنبه 21 مرداد 1394, 01:12 صبح
سلام ، شما می تونید تکست باکس رو فقط برای دریافت عدد تنظیم کنید ، یعنی اصلا حرف داخل تکست باکس تایپ نشه !

http://barnamenevis.org/showthread.php?184573-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%D8%B9%D8%AF%D8%AF-%D8%AF%D8%B1-textbox
خیلی ممنون.آیا نمیشه با دستور if گفت که برنامه،تکست داخل جعبه متن رو چک کنه و بعد ببینه از نوع داده عددی هست یا کارکتر؟؟(تو اون تاپیکه بود ولی میخواستم ببینم آیا با دستور ساده تری هم میشه یا نه آخه خیلی شلوغ بود)

محمد رضا فاتحی
چهارشنبه 21 مرداد 1394, 07:29 صبح
با if هم همیشه ولی اگه بخواین از همون اول جلوی ورود کاراکتر(غیر از عدد) روبگیرید بهترینش و ساده ترینش همین کده


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

بیتا حکمت
چهارشنبه 21 مرداد 1394, 07:59 صبح
با if هم همیشه ولی اگه بخواین از همون اول جلوی ورود کاراکتر(غیر از عدد) روبگیرید بهترینش و ساده ترینش همین کده


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


این کد یه مشکل کوچیکی که داره اینکه کاربر می تونه رشته رو داخل تکست باکس Copy paste کنه ، که البته راه حلش در پست شماره 9 اینجا (http://barnamenevis.org/showthread.php?184222-%D9%85%D8%AD%D8%AF%D9%88%D8%AF-%D9%83%D8%B1%D8%AF%D9%86-textbox)گفته شده

golbafan
پنج شنبه 22 مرداد 1394, 00:14 صبح
بهتره بجای تکست باکس از NumericUpDown (http://msdn.microsoft.com/en-us/library/system.windows.forms.numericupdown%28v=vs.110%29.a spx) استفاده کنین