PDA

View Full Version : سوال: فقط اعداد در تکست باکس نوشته شوند



rezarko
یک شنبه 07 آبان 1391, 16:15 عصر
سلام. من برای اینکه فقط اعداد در تکست باکس نوشته شوند از کد زیر استفاده میکنم ولی با این کد BackSpace هم کار نمیکنه و نمیشه اعداد تکست باکس رو پاک کرد.
private void txtAddPrice_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar))|| char.IsControl(e.KeyChar))
{
e.Handled = true;
}
}

vistacali
یک شنبه 07 آبان 1391, 17:07 عصر
if (!char.IsControl(e.KeyChar)&& !char.IsDigit(e.KeyChar)&& e.KeyChar != '.')
{
e.Handled = true;
}

hakim22
یک شنبه 07 آبان 1391, 19:25 عصر
از MaskedTextBox استفاده کنید

harani
یک شنبه 07 آبان 1391, 20:44 عصر
ن از Masket TextBox نمیتونه که استفاده کنه چون باید تعداد اعداد مشخص باشه که بشه ماسک آن را دستکاری کرد مثل شماره شناسنامه , کد ملی , شماره همراه و...
با توجه به درستی کد جناب vistacali (http://barnamenevis.org/member.php?139103-vistacali) شما میتونید از کد زیرم تو Key press تکست باکستان هم استفاده کنید .


if (!((e.KeyChar >= '0' && e.KeyChar < = '9')||e.KeyChar == '.' || e.KeyChar == 8))//a
e.Handled = true;//d