PDA

View Full Version : فیلترکردن تکست باکس



samiasoft
یک شنبه 01 آذر 1394, 02:24 صبح
سلام دوستان

چگونه یک تکست باکس رو محدود کنیم بصورتی که :

فقط داخلش حروف انگلیسی و اعداد بشه وارد کرد و بقیه علائم و سیمبولها از جمله +....=.....@...../......'.............".......نقطه.......و غیره تایپ نشوند.

pbm_soy
یک شنبه 01 آذر 1394, 22:58 عصر
از طریق کدنویسی رخداد keypress ویا textchange میتوانید اینکار را انجام دهید
مثلا در keypress کد کلید تایپ شده یا کاراکتر تایپ شده را میدهد و با بررسی آن میتوانید بفهمید چی تایپ شده و تصمیم بگیرید که در تکست باکس باشه یا نباشه

samiasoft
دوشنبه 02 آذر 1394, 15:29 عصر
ممنون از شما

ولی الان مشکل میشه برام. که بشینم کلیه سیمبول ها رو وارد کنم مثلا اینطوری :

Private Sub TextBox4_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox4.KeyPress Select Case e.KeyChar

Case "!"c To ")"c
e.Handled = True
Case "@"c
e.Handled = True
Case "*"c
e.Handled = True
Case "^"c
e.Handled = True
Case "-"c
e.Handled = True
Case "="c
e.Handled = True
Case "_"c
e.Handled = True
Case "+"c
e.Handled = True
Case "."c
e.Handled = True
Case "/"c
e.Handled = True
Case "\"c
e.Handled = True
Case "`"c
e.Handled = True
Case "?"c
e.Handled = True
Case "<"c
e.Handled = True
Case ">"c
e.Handled = True
Case ":"c
e.Handled = True
Case "|"c
e.Handled = True
End Select

من میخواستم که در تکست باکسم فقط حروف انگلیسی و اعداد رو بشه وارد کرد. (حروف فارسی و سیمبول ها و علامت هایی که با شیفت تایپ میشوند ممنوع)

samiasoft
دوشنبه 02 آذر 1394, 15:40 عصر
با دستور زیر بالاخره تونستم کاری کنم که داخل تکست باکس فقط اعداد و حروف وارد بشن و دیگر علامت های دیگر وارد نشوند:

If Not Char.IsLetterOrDigit(e.KeyChar) Then

e.Handled = True

End If

Sosha1996
دوشنبه 02 آذر 1394, 16:07 عصر
سلام...
فکر کنم بتونی به جای این همه کار، یه کدی بنویسی که جز اونایی که تو می خوای چیز دیگه ای وارد نشه.
البته شرمنده کدش رو نمی دونم. برات داخل اینترنت می گردم.

samiasoft
سه شنبه 03 آذر 1394, 18:33 عصر
ممنون از شما

دوستان در این دستور چگونه یک استثنا میشه قرار داد؟ برای مثال کلید back space و SPACE هم کار کنه.

رویداد KeyPress

If Not Char.IsLetterOrDigit(e.KeyChar) Then

e.Handled = True


End If

samiasoft
پنج شنبه 12 آذر 1394, 02:56 صبح
با درج دستورات بصورت زیر مشکلم حل شد »



If Not Char.IsLetterOrDigit(e.KeyChar) Then


If e.KeyChar = ControlChars.Back Then


ElseIf e.KeyChar = Convert.ToChar(Keys.Space) Then


Else




e.Handled = True


End If




End If