View Full Version : backspace ، handle نمی شود
میلاد قاضی پور
چهارشنبه 10 شهریور 1389, 18:26 عصر
سلام . هنگامی که توی تکس باکس عددی رو وارد میکنم وقتی میخوام پاکش کنم بکسپیس هندل نمیشود . چیکار میتونم بکنم . این کدم :
if (!(char.IsDigit(e.KeyChar)) || (char.IsControl(e.KeyChar)))
e.Handled = true;
Rejnev
چهارشنبه 10 شهریور 1389, 18:32 عصر
if (char.IsDigit(e.KeyChar) == true)
{
}
else if (e.KeyChar == '\b')
{
}
else if (e.KeyChar == '.' && txt.Text.IndexOf('.')<0)
{
}
else
{
e.Handled = true;
}
میلاد قاضی پور
چهارشنبه 10 شهریور 1389, 18:38 عصر
if (char.IsDigit(e.KeyChar) == true)
{
}
else if (e.KeyChar == '\b')
{
}
else if (e.KeyChar == '.' && txt.Text.IndexOf('.')<0)
{
}
else
{
e.Handled = true;
}
. از کد شما الگو گرفتم و
!(e.KeyChar == '\b')
رو اضافه کردم. کار نمی نماید.
cheshm6k
چهارشنبه 10 شهریور 1389, 19:03 عصر
. از کد شما الگو گرفتم و
!(e.KeyChar == '\b')
رو اضافه کردم. کار نمی نماید.
اینو امتحان کن
if ((!char.IsDigit(e.KeyChar)) && (e.KeyChar != (char)Keys.Back) )
{
e.Handled = true;
}
واسه اینه که شما OR میکنید نه And و وقتی backspace میزنی چون عدد نیست دستورات اجرا میشن
میلاد قاضی پور
چهارشنبه 10 شهریور 1389, 19:21 عصر
واسه اینه که شما OR میکنید نه And و وقتی backspace میزنی چون عدد نیست دستورات اجرا میشن
استفاده از OR در صورتی که از عملگر نقیض استفاده کنیم همون عمل رو انجام میده هیچ فرقی نداره .
این کد کار کرد .
if (!(char.IsDigit(e.KeyChar)) && !(char.IsControl(e.KeyChar))&& !(e.KeyChar!=(char)Keys.Back))
e.Handled = true;
cheshm6k
چهارشنبه 10 شهریور 1389, 19:38 عصر
سلام . هنگامی که توی تکس باکس عددی رو وارد میکنم وقتی میخوام پاکش کنم بکسپیس هندل نمیشود . چیکار میتونم بکنم . این کدم :
if (!(char.IsDigit(e.KeyChar)) || (char.IsControl(e.KeyChar)))
e.Handled = true;
دوست من حرف شما زمانی درسته که کل عبارات رو نقیض کنی . وقتی عبارات رو OR میکنیم فقط کافیه یکی از اونا درست باشه تا دستورات if اجرا بشه
#aliyari_C
چهارشنبه 10 شهریور 1389, 19:51 عصر
سلام
int i = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out i) && !(e.KeyChar == (char)Keys.Back);
موفق وتندرست باشی
__________________________________________________ _________________________
چون به دریاه می توانی راه یافت.................سوی یک قطره چرا باید شتاف
Rejnev
چهارشنبه 10 شهریور 1389, 20:18 عصر
int i = 0;
توابعی که پارامتر با out دارن رو میشه بدون مقدار دهی اولیه متغیر، صدا زد.(فرقش با ref همینه)
میلاد قاضی پور
چهارشنبه 10 شهریور 1389, 21:32 عصر
توابعی که پارامتر با out دارن رو میشه بدون مقدار دهی اولیه متغیر، صدا زد.(فرقش با ref همینه)
به 22 بهمن چه ربطی داشت ؟ آقا به خدا مشکلم حل شده از دوستمون هم تشکر کردم دیگه زحمت نکشید .
Rejnev
چهارشنبه 10 شهریور 1389, 21:51 عصر
به 22 بهمن چه ربطی داشت ؟ آقا به خدا مشکلم حل شده از دوستمون هم تشکر کردم دیگه زحمت نکشید .
این رو برای پست قبلی نوشتم. شما هم اگه مشکلت حل شده، ضمن شکر خدا، دیگه نیازی نیست به این تاپیک سر بزنی.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.