PDA

View Full Version : چک کردن محتوای textbox



mina1363
سه شنبه 15 مرداد 1387, 18:30 عصر
من چه طور میتونم چک کنم محتوای textbox را برای اینکه کاربر فقط کاراکتر وارد کنه و کاراکترش هم فارسی باشه؟

بار دیگر میخوام چک کنم که کاربر فقط عدد وارد کنه ولی نمیتونم کل رشته ای را که وارد میکنه تفکیک کنم چطور میتونم چک کنم که فقط عدد وارد کرده باشه؟

H2K
سه شنبه 15 مرداد 1387, 19:13 عصر
سلام
شما دوتا كار مى تونين انجام بدين
راه اول اينكه در مورد تايپ كردن کاراکتر ِ خاص چندين بر اينجا topic زدن اونارو ببينين كه كارتون رو راه ميندازه
http://barnamenevis.org/forum/showthread.php?t=105011&highlight=textbox
راه دوم اينكه نسبت به خواست خودت بشينى يه كنترل بنويسى .

به نظرِ من راه دوم بهتره

mina1363
سه شنبه 15 مرداد 1387, 19:35 عصر
دوست عزیز ممنونم از جوابت ولی فکر میکنم چیزی که احتیاج دارم کمی فرق میکنه من خودم در loadform این دستورات رو نوشتم ولی به جز این لازم دارم که این رشته که کاربر وارد میکنه بریزم تو آرایه و تک تک کاراکتر ها رو چک کنم که حتما فارسی تایپ کرده و در این قسمت اصلا عدد وارد نکنه و... به این احتیاج دارم

regbyte
سه شنبه 15 مرداد 1387, 20:18 عصر
در رویداد KeyPress:



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{

if ((e.KeyChar < 1569 || e.KeyChar > 1599) && (e.KeyChar != (char)Keys.Back))
{
e.Handled = true;
}
}


البته باید کل کد اسکی کل کاراکترهای مورد نظرتو (کاراکترهای فارسی) از Character Map در بیاری و به شرط اضافه کنی. بازه ی 1569-1599 رو تستی نوشتم.

نهمنهح
سه شنبه 15 مرداد 1387, 20:50 عصر
بار دیگر میخوام چک کنم که کاربر فقط عدد وارد کنه ولی نمیتونم کل رشته ای را که وارد میکنه تفکیک کنم چطور میتونم چک کنم که فقط عدد وارد کرده باشه؟
برای اینکه چک کنی فقط عدد وارد کنه :

private void textBox1_Validating(object sender, CancelEventArgs e)
{
int intM;
if (!int.TryParse(textBox1.Text, out intM))
{
MessageBox.Show("Please enter number");
e.Cancel = true;
}
}