View Full Version : سوال: مشكل در مقادير داخل TextBox ؟؟؟؟؟
ایمان مدائنی
دوشنبه 10 اسفند 1388, 20:49 عصر
من با استفاده از دستور زير كاري كردم كه textbox فقط مقادير عدد قبول كنه !
privatevoid txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsLetter(e.KeyChar))
e.Handled = true;
}
ولي باز هم كاربر ميتونه از كاراكترهاي /-+*. استفاده كنه و اين باعث هنگ كردن برنامه ميشه !
چكار كنم ا كاربر نتونه از اين كاراكترها در textbox استفاده كنه ؟؟؟؟
مي خوام فقط از اعداد استفاده بتونه بكنه (1234567890)
accpascal
دوشنبه 10 اسفند 1388, 20:56 عصر
می توانی از این تابع استفاده کنی
function trueint(key:char):boolean;
begin
if not (Key in ['0'..'9',#8,#9])and(key<>#27)and(key<>#13) then result:=false
else result:=true;
end;
ایمان مدائنی
دوشنبه 10 اسفند 1388, 21:03 عصر
راه بهتري بلد نيستي ؟؟:گریه:
slashslash2009
دوشنبه 10 اسفند 1388, 21:12 عصر
از این هم میتونید استفاده کنید در رویداد keypress
if (!(e.KeyChar >= '0' && e.KeyChar <= '9'))
e.Handled = true;
ایمان مدائنی
دوشنبه 10 اسفند 1388, 21:59 عصر
از این هم میتونید استفاده کنید در رویداد keypress
if (!(e.KeyChar >= '0' && e.KeyChar <= '9'))
e.Handled = true;
عزيز ممنون !
كدتون خيلي عالي بود !
ولي مشكلي كه هست حالا كليد Backspace كار نمي كنه
slashslash2009
دوشنبه 10 اسفند 1388, 23:39 عصر
ازین کد استفاده کن در رویداد keypress هم کلید backspace و هم delete رو میگیره
if (e.KeyChar == 8 || e.KeyChar == 46)//backspace&.
{ return; }
if (!(e.KeyChar >= '0' && e.KeyChar <= '9'))
e.Handled = true;
Himalaya
سه شنبه 11 اسفند 1388, 01:14 صبح
if ((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == 8)
{
return;
}
else
e.Handled = true;
Salar Ashgi
سه شنبه 11 اسفند 1388, 10:23 صبح
از متود زیر نیز در رویداد Text_Changed میتونید استفاده کنید :
bool str_is_digit(string str){
bool res = true;
foreach(char c in str)
{
if(!char.Isdigit(c))
{
res = false;
break;
}
}
return res;
}
vahid301
چهارشنبه 19 اسفند 1388, 15:42 عصر
if(chare.isnumber(e.keychar)||e.keychar==8)
e.handel=false;
else
e.handel=true;
اينو امتحان كرديد؟
xcomlock
چهارشنبه 19 اسفند 1388, 19:33 عصر
پاسخ درستش اینه
این کد رو تو رویداد KeyPress بزارین
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((!char.IsNumber(e.KeyChar)) && (!char.IsControl(e.KeyChar)))
{
e.Handled = true;
}
}
peymanjon
چهارشنبه 19 اسفند 1388, 20:14 عصر
من این کد را پیشنهاد میکنم:
این کد داخل textbox
if (textBox1.Text != "" && IsNum(textBox1.Text))
و این هم تابع Isnum
private bool IsNum(string str)
{
for (int i = 0; i < str.Length; i++)
{
if (!char.IsDigit(str[i]))
return false;
}
return true;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.