سلام . هنگامی که توی تکس باکس عددی رو وارد میکنم وقتی میخوام پاکش کنم بکسپیس هندل نمیشود . چیکار میتونم بکنم . این کدم :
if (!(char.IsDigit(e.KeyChar)) || (char.IsControl(e.KeyChar)))
e.Handled = true;
سلام . هنگامی که توی تکس باکس عددی رو وارد میکنم وقتی میخوام پاکش کنم بکسپیس هندل نمیشود . چیکار میتونم بکنم . این کدم :
if (!(char.IsDigit(e.KeyChar)) || (char.IsControl(e.KeyChar)))
e.Handled = true;
if (char.IsDigit(e.KeyChar) == true)
{
}
else if (e.KeyChar == '\b')
{
}
else if (e.KeyChar == '.' && txt.Text.IndexOf('.')<0)
{
}
else
{
e.Handled = true;
}
آخرین ویرایش به وسیله cheshm6k : چهارشنبه 10 شهریور 1389 در 18:12 عصر دلیل: این پست به دلیل تکراری بودن به طور خودکار ادغام شده است.
استفاده از OR در صورتی که از عملگر نقیض استفاده کنیم همون عمل رو انجام میده هیچ فرقی نداره .واسه اینه که شما OR میکنید نه And و وقتی backspace میزنی چون عدد نیست دستورات اجرا میشن
این کد کار کرد .
if (!(char.IsDigit(e.KeyChar)) && !(char.IsControl(e.KeyChar))&& !(e.KeyChar!=(char)Keys.Back))
e.Handled = true;
سلام
int i = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out i) && !(e.KeyChar == (char)Keys.Back);
موفق وتندرست باشی
__________________________________________________ _________________________
چون به دریاه می توانی راه یافت.................سوی یک قطره چرا باید شتاف
توابعی که پارامتر با out دارن رو میشه بدون مقدار دهی اولیه متغیر، صدا زد.(فرقش با ref همینه)int i = 0;
به 22 بهمن چه ربطی داشت ؟ آقا به خدا مشکلم حل شده از دوستمون هم تشکر کردم دیگه زحمت نکشید .توابعی که پارامتر با out دارن رو میشه بدون مقدار دهی اولیه متغیر، صدا زد.(فرقش با ref همینه)