PDA

View Full Version : سوال: محدود کردن تکست باکس در قبال رشته ها دریافتی



sadeghlinux
پنج شنبه 07 اردیبهشت 1391, 22:06 عصر
سلام دوستان
من یه برنامه نوشتم حالا میخوام برنامه ورودی هایی رو که میگیره کنترل شده باشه
1.چجوری میتونم تو قسمت کد فقط عدد بگیرم
2.تو قسمت نام فقط رشته
3.تو قسمت تلفن، عدد با خط فاصله
ممنون میشم راهنمایی بفرمایید

xxnagin
پنج شنبه 07 اردیبهشت 1391, 22: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
پنج شنبه 07 اردیبهشت 1391, 23:20 عصر
.چجوری میتونم تو قسمت کد فقط عدد بگیرم

MaskedTextBox --> 00000000000000000


.تو قسمت نام فقط رشته

MaskeTextBox --> ?????????????????????


تو قسمت تلفن، عدد با خط فاصله

MaskedTextBox --> 0000 - 00000000


ممنون میشم راهنمایی بفرمایید

...

sadeghlinux
جمعه 08 اردیبهشت 1391, 01:13 صبح
ممنون دوستان اما من نمیخوام از مسکت استفاده کنم

خب با این روش بعضی از دکمه ها مثل بک اسپیس از کار میافته !!! باید چیکار کرد؟

xxnagin
جمعه 08 اردیبهشت 1391, 10:19 صبح
ممنون دوستان اما من نمیخوام از مسکت استفاده کنم

خب با این روش بعضی از دکمه ها مثل بک اسپیس از کار میافته !!! باید چیکار کرد؟

خوب من با تکس باکس بهت گفتم دیگه

mgh64120
جمعه 08 اردیبهشت 1391, 10: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, 12:15 عصر
به جای دستور If از دستور Select Case استفاده کنی بهتره

xxnagin
جمعه 08 اردیبهشت 1391, 12: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 بذارید که برای تلفن کاربرد داره عدد همرا خط فاصله هست