PDA

View Full Version : بهترین روش برای ایجاد تکست باکسی که فقط عدد بگیره چیه؟



vahid2112
پنج شنبه 05 بهمن 1391, 02:08 صبح
سلام
بهترین روش برای ایجاد تکست باکسی که فقط عدد بگیره چیه؟
دوستان اگه راهنمایی کنن ممنون میشم.

vahid2112
پنج شنبه 05 بهمن 1391, 02:16 صبح
یه روشش که اینه:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string in_char = "1234567890";
if(in_char.Contains(e.KeyChar)==false)
e.Handled = true;
}

vahid2112
پنج شنبه 05 بهمن 1391, 02:28 صبح
این یه روش دیگه:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
const char Delete = (char)8;
e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != Delete;
}

vahid2112
پنج شنبه 05 بهمن 1391, 02:36 صبح
اینم یه روش دیگه که بهتر از قبلی هاست
قبلی وقتی که مقدار غیر عددی در اون Past میشه قبول میکنه
ولی این نه


private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)))
{
e.Handled = true;
}
}

danialafshari
پنج شنبه 05 بهمن 1391, 02:41 صبح
بهترین روش استفاده است MaskedTextBox هست چون روش های بالا کاراکتر میشود Copy & Paste کرد

vahid2112
پنج شنبه 05 بهمن 1391, 02:43 صبح
بهترین روش استفاده است MaskedTextBox هست چون روش های بالا کاراکتر میشود Copy & Paste کرد

میشه بیشتر برام توضیح بدی

danialafshari
پنج شنبه 05 بهمن 1391, 09:27 صبح
میشه بیشتر برام توضیح بدی
شما کد بالا رو قرار بدید
خب حالا تکست باکس فقط عدد میگیره دیگه؟
حالا یک رشته رو در کلیپ برد کیپی کن مثلا DanialAfshari
حالا روی تکست باکس Paste کن میبینی که کپی میشه ! و بوم .....
بهترین ابزار MaskedTextBox خود ویژواله که با تنظیم خاصیت Mask روی Numeric دیگه مشکلی از این قبیل پیش نمیاد
موفق باشی