PDA

View Full Version : ورود اطلاعات عددي در تكست باكس با مميز



sh2007
سه شنبه 16 فروردین 1390, 08:21 صبح
دوستان سلام
من توي رويداد كي پرس تكست باكس اين كدها رو مي نويسم

If Not IsNumeric(e.KeyChar) Then e.Handled = True
If e.KeyChar = vbBack Then e.Handled = False

با استفاده از اين كدها كاربرفقط مي تونه اعداد تايپ كنه حالا اگه بخوام تعريف كنم كه كاربر بتونه مميز وارد كنه اونهم فقط يكبار توي تكست باكس چيكار كنم جهت اعداد اعشاري
ممنون

mobtakercode
سه شنبه 16 فروردین 1390, 09:40 صبح
این سوال بیش از ده هزار بار تا حالا پرسیده شده ولی هیچ وقت هم جواب کاملی به آن داده نشده است

if ((int)e.KeyChar > 26 || e.KeyChar == (char)Keys.Back)
{
if (char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back || (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') < 0))
e.Handled = false;
else
e.Handled = true;
}
else
e.Handled = true;

مزیت دستورات بالا در این است که در مقابل دستورات ctrl+a و غیره نیز فعال است

sh2007
سه شنبه 16 فروردین 1390, 11:49 صبح
كاش بزبان وي بي مي نوشتيد خوانا تر بود

shadi khanum
سه شنبه 16 فروردین 1390, 14:19 عصر
این Sample به زبان VB، یه کامپوننت Textbox نوشتم که اولا فقط عدد میگیره و فقط یه . میپذیره و امکان backspace داره . یه property هم داره به اسم textboxtype که دو تا مقدار currency و normal داره که اگه currency باشه سه رقم سه رقم موقع Type کردن توی Textbox جدا میکنه و اگه نرمال باشه اینکارو نمیکنه. کدش کلاس نوشته شده هم تو پروژه هست