PDA

View Full Version : سوال: میخواهم فقط عدد وارد بشه



nazaninzahra_mnm
شنبه 08 آبان 1389, 12:58 عصر
من میخواهم در یک textbox فقط عدد وارد کنم . چیکار کنم؟

ایمان مدائنی
شنبه 08 آبان 1389, 13:06 عصر
در رويداد KeyPress مربوط به تكس باكس كد زير رو بزار



if ((e.KeyChar != 8) && (e.KeyChar != 13))
e.Handled = !char.IsDigit(e.KeyChar);

mohamad68
شنبه 08 آبان 1389, 13:09 عصر
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{

if (e.KeyChar < '0' || e.KeyChar > '9')
e.Handled = true;
}

hadisadaghatmehr
شنبه 08 آبان 1389, 13:10 عصر
دوست عزيز DevComponent يه ابزار به نام integerinput داره مي توني از اونم استفاده كني

ایمان مدائنی
شنبه 08 آبان 1389, 13:22 عصر
دوست عزيز DevComponent يه ابزار به نام integerinput داره مي توني از اونم استفاده كني
استفاده از كامپوننت فقط از سرعت برنامه كم ميكنه
وقتي ميشه با دو خط كد مشكل را حل كرد چرا كامپوننت ؟

magnet
شنبه 08 آبان 1389, 13:46 عصر
چطور میشه در صورت ورود اولین حرف (نه عدد) یک پیغام نشون داده بشه؟

M.YasPro
شنبه 08 آبان 1389, 13:59 عصر
نقل قول: میخواهم فقط عدد وارد بشه
نقل قول:
نوشته شده توسط hadisadaghatmehr
دوست عزيز DevComponent يه ابزار به نام integerinput داره مي توني از اونم استفاده كني
استفاده از كامپوننت فقط از سرعت برنامه كم ميكنه
وقتي ميشه با دو خط كد مشكل را حل كرد چرا كامپوننت ؟


وقتی میشه بدون اون دو خط کد هم اینکار رو کرد ...!
از کنترل numericUpDown خود دات نت استفاده کنید .
موفق باشید ./

nazaninzahra_mnm
شنبه 08 آبان 1389, 14:03 عصر
مشه در مورد هر کلمه کد زیر توضیح بدین. اصلا کد 8 و 13 یعنی چه
if ((e.KeyChar != 8) && (e.KeyChar != 13))
e.Handled = !char.IsDigit(e.KeyChar);

mehrdad_ir_2003
شنبه 08 آبان 1389, 14:06 عصر
چطور میشه در صورت ورود اولین حرف (نه عدد) یک پیغام نشون داده بشه؟


(private void textBox1_KeyPress(object sender, KeyPressEventArgs e
{

if (e.KeyChar < '0' || e.KeyChar > '9')
e.Handled = true;
else
massegebox.show("فقط عدد وارد نمائيد")
}

magnet
شنبه 08 آبان 1389, 14:19 عصر
mehrdad_ir_2003 (http://barnamenevis.org/forum/member.php?u=16369) عزیز، خودت کدی که نوشتی رو امتحان کردی؟
این کد جواب نمی ده.

HH2BN1990
شنبه 08 آبان 1389, 14:48 عصر
مشه در مورد هر کلمه کد زیر توضیح بدین. اصلا کد 8 و 13 یعنی چه
if ((e.KeyChar != 8) && (e.KeyChar != 13))
e.Handled = !char.IsDigit(e.KeyChar);

13 کد اسکی کلید اینتر هستش و 8 هم کد اسکی Backspace هستش



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar))
{
e.Handled = true;
MessageBox.Show("Adad Vared Konid!");
}
}

mehrdad_ir_2003
شنبه 08 آبان 1389, 15:58 عصر
mehrdad_ir_2003 (http://barnamenevis.org/forum/member.php?u=16369) عزیز، خودت کدی که نوشتی رو امتحان کردی؟
این کد جواب نمی ده.

با عرض پوزش تو تايپش اشتباه شد شرمندم اينم صحيحش

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < '0' || e.KeyChar > '9')
{
e.Handled = true;
MessageBox.Show("فقط عدد وارد نمائيد");
}
}

gilas1368
شنبه 08 آبان 1389, 16:02 عصر
من میخواهم در یک textbox فقط عدد وارد کنم . چیکار کنم؟

روی رویداد textbox،Keypress دابل کلیک کن تا زیر برنامش باز شه بعد کد زیر رو توی زیر برنامش تایپ کن

if (!((((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) || e.KeyChar == '\b')))
e.KeyChar = (char)0;

HH2BN1990
شنبه 08 آبان 1389, 17:18 عصر
روی رویداد textbox،Keypress دابل کلیک کن تا زیر برنامش باز شه بعد کد زیر رو توی زیر برنامش تایپ کن
if (!((((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) || e.KeyChar == '\b')))
e.KeyChar = (char)0;

نمی دونم چرا دوستان ، دوست دارن از کد اسکی استفاده کنند در صورتی که تو کلاس Char متدهای IsDigit و IsLatter و IsNumber برای این کارهاست

mrhesy
یک شنبه 09 آبان 1389, 05:29 صبح
سلام بر همگي من هم يك متد نوشتم براي اين كار شايد به دردتون بخوره

public static bool chk_number(string a)
{
double Num;
bool isNum = double.TryParse(a, out Num);
if (isNum)
return true;
else
return false;
}

براي فراخواني هم

if (this.chk_number(txtbox.Text) == false)
{
lblMSG.Text = "اين گزينه فقط مي تواند عدد باشد";
}