View Full Version : سوال: محدود کردن تکست باکس در قبال رشته ها دریافتی
sadeghlinux
پنج شنبه 07 اردیبهشت 1391, 23:06 عصر
سلام دوستان
من یه برنامه نوشتم حالا میخوام برنامه ورودی هایی رو که میگیره کنترل شده باشه
1.چجوری میتونم تو قسمت کد فقط عدد بگیرم
2.تو قسمت نام فقط رشته
3.تو قسمت تلفن، عدد با خط فاصله
ممنون میشم راهنمایی بفرمایید
xxnagin
پنج شنبه 07 اردیبهشت 1391, 23:55 عصر
سلام دو تا اولی اینها هستش
برا عدد از
if isnumeric("رشته")=true
end if
این فقط رشته می گیره
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
'2
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
e.Handled = True 'This effectively Cancels the Keypress
If e.KeyChar Like "[A-z]" Or _
e.KeyChar = Chr(&H8) Then
e.Handled = False
'Resume keypress if condition is true
end if
End Sub
اینم برای تلفن
Dim phoneNumber As String = "111111111111"
Dim newString As String = phoneNumber.Insert(4, "-")
Dim newString2 As String = newString.Insert(8, "-")
phoneNumber.Text = newString2
خط قرمز برای کد تلفن
وخط ابی برای شماره تلفن
شما میتونی خودت درست ترش بکنی
این کار با تکس باکس هستش
حالا اگه میخوای کد نویسی نکنی از MaskedTextBox استفاده بکن را حت تره
ROSTAM2
جمعه 08 اردیبهشت 1391, 00:20 صبح
.چجوری میتونم تو قسمت کد فقط عدد بگیرم
MaskedTextBox --> 00000000000000000
.تو قسمت نام فقط رشته
MaskeTextBox --> ?????????????????????
تو قسمت تلفن، عدد با خط فاصله
MaskedTextBox --> 0000 - 00000000
ممنون میشم راهنمایی بفرمایید
...
sadeghlinux
جمعه 08 اردیبهشت 1391, 02:13 صبح
ممنون دوستان اما من نمیخوام از مسکت استفاده کنم
خب با این روش بعضی از دکمه ها مثل بک اسپیس از کار میافته !!! باید چیکار کرد؟
xxnagin
جمعه 08 اردیبهشت 1391, 11:19 صبح
ممنون دوستان اما من نمیخوام از مسکت استفاده کنم
خب با این روش بعضی از دکمه ها مثل بک اسپیس از کار میافته !!! باید چیکار کرد؟
خوب من با تکس باکس بهت گفتم دیگه
mgh64120
جمعه 08 اردیبهشت 1391, 11:59 صبح
سلام دوست عزيز
اين كد براي ورودي اعداد اعم از صحيح، اعشاري و مثبت و منفي.
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not (((((Asc(e.KeyChar) >= 48) And (Asc(e.KeyChar) <= 57))) Or (Asc(e.KeyChar) = Keys.Back) Or (Asc(e.KeyChar) = Asc(".")) Or (Asc(e.KeyChar) = Asc("-")))) Then
e.KeyChar = String.Empty
End If
If Asc(e.KeyChar) = Asc(".") And InStr(TextBox1.Text, ".", CompareMethod.Binary) > 0 Then
e.KeyChar = String.Empty
Beep()
End If
If (Asc(e.KeyChar) = Asc("-") And ((InStr(TextBox1.Text, "-", CompareMethod.Binary) > 0) Or (TextBox1.SelectionStart <> 0))) Then
e.KeyChar = String.Empty
Beep()
End If
If (Asc(e.KeyChar) = Asc(".")) And TextBox1.Text = String.Empty Then
TextBox1.Text = "0" : TextBox1.SelectionStart = 1
End If
End Sub
موفق باشيد...
ROSTAM2
جمعه 08 اردیبهشت 1391, 13:15 عصر
به جای دستور If از دستور Select Case استفاده کنی بهتره
xxnagin
جمعه 08 اردیبهشت 1391, 13:34 عصر
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not (((((Asc(e.KeyChar) >= 48) And (Asc(e.KeyChar) <= 57))) Or (Asc(e.KeyChar) = Keys.Back) Or (Asc(e.KeyChar) = Asc(".")) Or (Asc(e.KeyChar) = Asc("-")))) Then
e.KeyChar = String.Empty
End If
If Asc(e.KeyChar) = Asc(".") And InStr(TextBox1.Text, ".", CompareMethod.Binary) > 0 Then
e.KeyChar = String.Empty
Beep()
End If
If (Asc(e.KeyChar) = Asc("-") And ((InStr(TextBox1.Text, "-", CompareMethod.Binary) > 0) Or (TextBox1.SelectionStart <> 0))) Then
e.KeyChar = String.Empty
Beep()
End If
If (Asc(e.KeyChar) = Asc(".")) And TextBox1.Text = String.Empty Then
TextBox1.Text = "0" : TextBox1.SelectionStart = 1
End If
End Sub
برای تلفن با 4 تا عدد برای کد و بقیه تا هر قدر خودت خواستی
البته می تونی تو پروپرتی تنظیم کنی تا چه قدر عدد (Length) بگیره maxLength
If TextBox1.Text.Length = 4 Then
TextBox1.Text = TextBox1.Text & "-"
TextBox1.SelectionStart = 6
End If
شما این کد رو ته کد دوستمون mgh64120 بذارید که برای تلفن کاربرد داره عدد همرا خط فاصله هست
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.