PDA

View Full Version : Numeric Function



nasimnastaran
شنبه 06 اسفند 1384, 13:50 عصر
با سلام !
من می خواستم درون TextBox فقط عدد وارد کنم .


public bool IsNumeric(string val)
{
try
{
double result = 0;
return Double.TryParse(val, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.CurrentInfo, out result);
}
catch
{
return false;
}
}

و در رویداد TextBox1_TextChanged


if (this.IsNumeric(txtNumber.Text.ToString())==false)
txtNumber.Text="";

اما سئوال این است که من می توانم عدد 5.5 یا 6/8 را نیز در درون TextBoxوارد کنم .
اگه بخوام فقط عدد را وارد کنم ، چکار باید کرد ؟
ممنون از راهنمائی تان

مطهر
شنبه 06 اسفند 1384, 17:03 عصر
دوست من .
اگر هدفت ماسک کردن TextBox است و بس ؟؟ من این روش را پیشنهاد می کنم.

bool num=false;
protected override void OnKeyDown(KeyEventArgs e)
{

if(e.KeyCode>=Keys.D0 && e.KeyCode<=Keys.D9 || e.KeyCode==Keys.Delete || e.KeyCode==Keys.Back ||e.KeyCode>=Keys.NumPad0 && e.KeyCode<=Keys.NumPad9)
num=true;
else
num=false;
base.OnKeyDown (e);
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if(num)
e.Handled=false;
else
e.Handled=true;
base.OnKeyPress (e);

}
و یا

protected override void OnKeyPress(KeyPressEventArgs e)
{
if(char.IsNumber(e.KeyChar))
e.Handled=false;
else
e.Handled=true;
base.OnKeyPress (e);
}
و حتی می تونی تو بخش بگردی و مباحث گذشته را مرور کنی و نکات جدیدتری را بیاموزی

ali_kolahdoozan
شنبه 06 اسفند 1384, 17:19 عصر
خوب توی net. 2005 از maskedtextbox استفاده کن