PDA

View Full Version : آموزش: وارد کردن فقط عدد در TextBox



Mani_rf
جمعه 27 دی 1392, 10:29 صبح
سلام.
برای ساختن TextBox که فقط عدد بگیره تا حالا روش های زیادی دیده بودم که به نظرم این روش از همه راحت تر و جالب تر اومد گفتم به اشتراک بگذارم شاید به درد کسی بخوره.

private void InputNumber_KeyPress(object sender, KeyPressEventArgs e)
{
int isNumber = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber);
}

hamedd82
جمعه 27 دی 1392, 10:45 صبح
سلام Mani_rf عزیز
یه سوال ؟ اگه یه شماره رو اشتباه وارد کنیم و بخوایم فقط اون شماره رو حذف کنیم چیکار باید بکنیم ؟؟؟
با این کد زمان وارد کردن شماره نه بک اسپیس کار میکنه نه دیلیت

AmiRReZzZzA
جمعه 27 دی 1392, 11:27 صبح
دوست عزیز می توانید با اضافه کردن یک if با کد
if (e.KeyChar == (char)8)
به راحتی عمل بک اسپیس رو فعال کنید

AmiRReZzZzA
جمعه 27 دی 1392, 11:28 صبح
دوست عزیز می توانید با اضافه کردن یک if با کد
private void txtSubject_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)8)
{ }
else
{
int isNumber = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber);
}
}
به راحتی عمل بک اسپیس رو فعال کنید

samsam_ninja
جمعه 27 دی 1392, 20:25 عصر
راحت ترین و منطقی ترین کد ممکن:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) && !(e.KeyChar == Convert.ToChar(Keys.Back) || e.KeyChar == Convert.ToChar(Keys.Delete)))
e.KeyChar = Convert.ToChar(0);
}

Ashkanan9937
جمعه 01 فروردین 1393, 23:32 عصر
سلام

این روش هم به نظرم خوب بیاد


private void txtN0_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar <= '9' && e.KeyChar >='0' || e.KeyChar == (char)8)
e.Handled=false;
else
e.Handled=true;

}