View Full Version : وارد کردن فقط عدد در , textbox
mahdi.a.v
جمعه 19 آبان 1391, 11:32 صبح
سلام
پست های قبلی رو نگاه کردم و همه ی کد هایی که گفته بودن در رویداد key press تکست باکسم نوشتم اماااا نمیدونم چرا نشد . فقط یه textbox ساختمو اینو تو رویداد key press نوشتم :
[VB]
if (!char.IsControl(e.KeyChar)&& !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
[VB]
و کد های دیگه هم امتحان کردم اما نشد !!!
باید چی کار کنم؟؟؟!!!
xxnagin
جمعه 19 آبان 1391, 12:29 عصر
سلام
کد شما کاملا درست کار میکنه ولی اگه مشکل داری
از این کد استفاده کن
اگه جای e.Handled = True و e.Handled = False رو عوض کنی عدد به رشته تغییر می کنه یعنی فقط رشته میگیره
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = True
Else
e.Handled = False
End If
End Sub
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar Like "[A-z]" Or _
e.KeyChar = Chr(&H8) Then
e.Handled = True
Else
e.Handled = False
End If
End Sub
Hossis
جمعه 19 آبان 1391, 12:46 عصر
این رو هم من استفاده می کنم
Private Sub textbox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtBox.KeyPress
Dim txt As String = "0123456789" & Chr(Keys.Back)
If txt.Contains(e.KeyChar) Then e.Handled = True
End Sub
JaVa
جمعه 19 آبان 1391, 16:36 عصر
سئوال : تکس باکسی که فقط عدد دریفات کند:
کد 1:
If Char.IsNumber(e.KeyChar) = False Then
e.Handled = True
End If
کد 2:
e.Handled = Not (IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 8)
سئوال: چگونه می توان فقط عدد را همراه با کاراکتر '-' در تکس باکس وارد کرد.
e.Handled = Not (IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 45)
mahdi.a.v
جمعه 19 آبان 1391, 17:49 عصر
ممنون
ولی اگه میشه من میخوام کاربر بتونه " . " رو هم وارد کنه .
JaVa
جمعه 19 آبان 1391, 18:08 عصر
سلام و...
اگه می خوای که "." رو هم وارد کنی فقط کافی که بجای کد اسکی "-" که 8 هست بجاش بنویسی 46 در کل اینوری میشه :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
e.Handled = Not (IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 46)
End Sub
موفق باشید.*
mahdi.a.v
جمعه 19 آبان 1391, 18:19 عصر
بازم ممنون
اما این کد نمیدونم چرا نمیشه نوشترو پاک کنی !!!
JaVa
جمعه 19 آبان 1391, 18:32 عصر
دیگه درست شد.
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
e.Handled = Not (IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 46 Or Asc(e.KeyChar) = Keys.Back)
End Sub
تشکر یادت نره.
mahdi.a.v
جمعه 19 آبان 1391, 18:42 عصر
دیگه درست شد.
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
e.Handled = Not (IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 46 Or Asc(e.KeyChar) = Keys.Back)
End Sub
تشکر یادت نره.
داداش دستت درد نکنه آخه خیلی عجله داشتم . ممنون
hakim22
جمعه 19 آبان 1391, 22:16 عصر
یکدونه MaskedTextEdit بزار و از خر شیطون بیا پایین !
rezaprogrammer
شنبه 20 آبان 1391, 01:07 صبح
Private Sub TxtBalance_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Char.IsNumber(e.KeyChar) = False Then
e.Handled = True
End If
If e.KeyChar = Microsoft.VisualBasic.vbBack Then
e.Handled = False
End If
If e.KeyChar = Microsoft.VisualBasic.vbTab Then
e.Handled = False
End If
End Sub
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.