سلام
مي خواهم يك Textbox درست كنم كه فقط بشه توش عدد وارد كرد يعني وقتي حروف تايپ كنم داخل اون نوشته نشه .
سلام
مي خواهم يك Textbox درست كنم كه فقط بشه توش عدد وارد كرد يعني وقتي حروف تايپ كنم داخل اون نوشته نشه .
تو رویداد keypress چک کن هر چی اسکیش بین یا مساوی 48 و 57 نبود اسکیشو 0 کن.
بهترین روش همینه که پیمان جون گفتن.
سلام
البته روش اصلی همونی هست که پیمان جان گفتند
ولی من با تابع isnumeric این کارو می کنم.
مثلا :
If IsNumeric(Text1.Text) = False Then Text1.Text = ""
این کد در خاصیت change text نوشته میشه.
سلام
اين هم يك راه حل ديگه
dim strValid as string
strValid="0123456789"
if keyAscii>26 then
if Instr(strValid,Chr(KeyAscii))= 0 then
keyascii=0
end if
end if
با اين روش كليه كليد هاي غير از اعداد ناديه گرفته مي شود
با سلام
دوست عزيز شما به وسيله كد هاي زير ميتوانيد اين كار را انجام بدهيد.
در قسمت general نوشته شود
Public Function Favorites(KeyAscii As Integer)
Dim StrValid As String
StrValid = "0123456789"
If KeyAscii > 26 Then
If InStr(StrValid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If
End Function
در قسمت دستورهاي text box نوشته شود.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Favorites KeyAscii
End Sub
-----------------------------------------------------------------
عمر گران ميگذرد خواهي نخواهي
سلام
دوست عزيز اين رو هم امتحان كن خيلي توپه نقص نداره و در همه سيستم ها قابل اجراست.
كد زير را در ما}ول قرار بده
و كد زير را در text مورد نظرخود وارد كنيد.Public Function DecControl(KeyAscii As Integer, Text As TextBox, ByVal NOOFDEC As Integer) As Integer
If KeyAscii = 8 Then
DecControl = KeyAscii
Exit Function
End If
If NOOFDEC = 0 Then
If InStr(1, "0123456789-", Chr(KeyAscii)) = 0 Then
DecControl = 0
Exit Function
Else
DecControl = KeyAscii
Exit Function
End If
Else
If InStr(1, "0123456789.-", Chr(KeyAscii)) = 0 Then
DecControl = 0
Exit Function
End If
End If
If Len(Text) - Text.SelStart > NOOFDEC And Chr(KeyAscii) = "." Then
DecControl = 0
Exit Function
End If
If KeyAscii <> 8 Then
If InStr(1, Text, ".") <> 0 And Chr(KeyAscii) = "." Then
DecControl = 0
Exit Function
End If
Dim pos As Integer
Dim RET As Integer
pos = InStr(1, Text.Text, ".")
If pos = 0 Then
If InStr(1, "0123456789.-", Chr(KeyAscii)) = 0 Then
RET = 0
Else
RET = KeyAscii
End If
Else
'IF AFTER DECIMAL
If Text.SelStart + 1 > pos Then
a = Len(Text.Text) - InStr(1, Text, ".")
If a >= NOOFDEC Then
RET = 0
Else
RET = KeyAscii
End If
Else
RET = KeyAscii
End If
End If
Else
RET = KeyAscii
End If
DecControl = RET
End Function
ممنونPrivate Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = DecControl(KeyAscii, Text1, 2)
End Sub
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام.
رومینا نیازی نیست تاپیک هایی که ماه ها پیش پروندشون بسته شده رو از آرشیو بکشی بیرون. اگه به تاریخ تاپیک توجه کنی متوجه میشی 6 ماه از عمر تاپیک میگذره و در همون موقع aliarc2003 جوابشو گرفت.
از همکاری شما جهت قرار دادن کدها داخل تگ کد تشکر میکنم.
درسته كه ايشون جواب سوالش رو گرفته و تاپيك مربوط به چند ماه قبل است ولي يك سوال ممكنه چندين جواب داشته باشه و بقيه كاربرها بخوان روشهاي ديگه رو هم بدونند.اين كدي كه من نوشتم با بقيه فرق مي كنه دوست عزيز
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)