سلام دوستان؛من یک textbox دارم که می خوام بعضی چیزها توش وارد نشه مثلا وقتی می خوام نام توش وارد کنم دیگه کلیدهای عدد توش کار نکنه ویا وقتی میخوام یک سن رو توش وارد کنم دیگه حروف توش وارد نشه . من باید چه کار کنم؟
سلام دوستان؛من یک textbox دارم که می خوام بعضی چیزها توش وارد نشه مثلا وقتی می خوام نام توش وارد کنم دیگه کلیدهای عدد توش کار نکنه ویا وقتی میخوام یک سن رو توش وارد کنم دیگه حروف توش وارد نشه . من باید چه کار کنم؟
باید تویه TextBox که قرار نام رو وارد کنی تویه رویداد Change وارد کنی:
If IsNumeric(TextName.Text)=True Then
MsgBox "شما باید از کاراکتر های حروف استفاده کنید.
TextName.Text=""
End If"
همچنین اگه می خوای که تویه TextBox که قرار سن (عدد) وارد بشه برای جلوگیری از ورود حرف باید بنویسی :
If IsNumeric(TextAge.Text)=False then
MsgBox "شما مجاز به استفاده از کاراکتر حروف نمی باشید.
TextAge.Text=""
End If"
اینم برنامه اگه به دردت می خوره.
سلام من خودم اینای رو که گفتی میدونستم ولی من نمی خوام textbox خالی بشه میخوام وقتی مثلا داریم عدد وارد می کنیم اگه حروف زده بشه حروف رو ننویسه و بوغ بزنه نه اینکه پیغام خطا بده و textbox خالی بشه چون اینجوری یکسری دادههای معتبری رو که کاربر به ما داده از دست خواهد رفت . من به دنبال یه راه حل بهتر می گردم . به هر حال ممنون
فکر می کنم که بشه از متد Left یا Right استفاده کرد و به اندازه کاراکتر های خطا یا اشتباه به عقب برگشت.
سلام
مثال برای گرفتن فقط عدد
Private Sub Text1_Keypress(Index As Integer, KeyAscii As Integer)
Dim strvalid As String
strvalid = "-+1234567890."
If KeyAscii = 13 Then
SendKeys "{TAB}"
End If
If KeyAscii > 26 Then
If InStr(strvalid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If
End Sub
دوست من لطفا کدت رو تو کدشکن بزار.دستت به خاطر کد درد نکنه
Public Function KeyControl(CodeControl As Integer, _
Stat As String) As Integer
If Stat = "T" Then 'only Text
Select Case CodeControl
Case 65 To 90 ' Key from A to Z
KeyControl = CodeControl
Case 97 To 122 'Key from a to z
KeyControl = CodeControl
Case Else
KeyControl = 0
Beep
End Select
Else
Select Case CodeControl
Case 48 To 57 ' Key from 0 to 9
KeyControl = CodeControl
Case 47 And Stt = True ' /
KeyControl = CodeControl
Case 8 ' Key BackSpace
KeyControl = CodeControl
Case 46 ' Period
KeyControl = CodeControl
Case 13 ' enter
KeyControl = CodeControl
Case Else
KeyControl = 0
Beep
End Select
End If
End Function
'
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = KeyControl(KeyAscii, "T")
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
KeyAscii = KeyControl(KeyAscii, "N")
End Sub
البته مثال تو این زمینه زیاد هست
من هم دو سه نمونه مختلف آپ کرده بودم
مثلا دو نومونش فکر کنم تو این تاپیک باشه
تعیین نوع ورودی جعبه متن
که نمیدونم چرا این صفحه باز نمیشه شما هم یه تست بکن !
میره تو این سایت !
http://www.douran.com/HomePage.aspx?...tal&Lang=fa-IR
میتونی یه شرط خیلی ساده توی keypress بذاری مثلا
If (e.KeyChar >= "a"And e.KeyChar <= "z"Or e.KeyChar >= "A"And e.KeyChar <= "Z") Then
e.Handled = True
EndIf