PDA

View Full Version : استفاده از تابع regex



HOSSEINGHOLI
جمعه 25 بهمن 1387, 23:55 عصر
من برای اینکه textbox عدد بگیرد از کد زیر استفاده کردم


if (!System.Text.RegularExpressions.Regex.IsMatch(e.K eyChar.ToString(), "\\d+"))
e.Handled = true;

ولی دکمه backsapce و delete ,دکمه های جهت نما کار نمیکند
چیکار کنم؟

Ali_Mor
شنبه 26 بهمن 1387, 00:16 صبح
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (Char.IsNumber(e.KeyChar) || Char.IsControl(e.KeyChar))
{
e.Handled = false ;
}
else
{
e.Handled = true ;
}
}

HOSSEINGHOLI
شنبه 26 بهمن 1387, 16:29 عصر
مرسی مشکل من حل شد
ولی میخام بدونم با regex چطوری میشه این کارو کرد

Mehdi Asgari
شنبه 26 بهمن 1387, 16:47 عصر
کد زیر ، اعداد و backspace و Ctrl+C و Ctrl+V رو پشتیبانی می کنه.



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string key_pressed = e.KeyChar.ToString();
if (!Regex.IsMatch(key_pressed, "[0-9]|\b|\\cC|\\cV"))
e.Handled = true;
}
}

(دکمه ی Delete و دکمه های جهت نما رو هم ساپورت می کنه)

mohsen_csharp
دوشنبه 26 اسفند 1387, 11:39 صبح
اگه با موس copy paste کنیم این کد کار نمی کنه.
کسی از دوستان راه حل رو میدونه؟