27-02-2009, 11:21 PM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30852 trong 10210 bài viết
Đã viết 23,173 bài thảo luận
7410 lượt xem
#1
Cách không cho người dùng nhập chữ vào textbox trong VB6
Code:
Private Sub Txt1_Change()
On Error Resume Next
Dim b As String
If Val(Txt1.Text) <> 0 Then 'Người ta đánh số
b = Val(Txt1.Text)
Txt1.Text = b & Right$(Txt1.Text, Len(Txt1.Text) - Len(b) - 1) 'Cái này đề phòng luôn chuyện người ta hứng quay lại giữ đường nhập chuỗi đặng bắt lỗi ct của mình, đừng có hòng!!! SendKeys "{END}" 'Đưa trỏ về cuối dòng
ElseIf Val(Txt1.Text) = 0 And Val((Left$(Txt1.Text, 1))) = 0 Then 'Nếu người ta quay lại đầu dòng đánh, nhập chuỗi thì xử lí như dưới, còn đánh số thì bình thường rồi!
Txt1 = Right(Txt1.Text, Len(Txt1.Text) - 1)
End If
End Sub
'Có thể bỏ bớt "Val((Left$(Txt1.Text, 1)))" như dưới, chẳng qua cái này để xác định chắc chắn là người ta nhập vào đầu dòng là chuỗi
Private Sub Txt2_Change()
On Error Resume Next
Dim b As String
If Val(Txt2.Text) <> 0 Then 'Cái này xải ra khi người ta nhập tòan số, nhập số rồi nhập chuỗi ở sau hoặc nhập số rồi chen chuỗi ở giữa
b = Val(Txt2.Text)
Txt2.Text = b & Right$(Txt2.Text, Len(Txt2.Text) - Len(b) - 1)
SendKeys "{END}" 'Đưa trỏ về cuối dòng
ElseIf Val(Txt2.Text) = 0 Then 'Cái này xảy ra khi người ta nhập tòan chuỗi hoặc chuỗi đứng đầu rồi mới tới số (hoặc nhập số đã đời rồi quay lại đầu tiên nhập chuỗi
Txt2.Text = Right$(Txt2.Text, Len(Txt2.Text) - 1)
End If
End Sub
hoặc đon giản hơn
Code:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub
Chủ đề mới cùng chuyên mục
08-05-2010, 06:58 PM
nguyen tuan van
Thành Viên SVIT
Được cảm ơn 0 trong 0 bài viết
Đã viết 26 bài thảo luận
#2
Cách không cho người dùng nhập chữ vào textbox trong VB6
tớ bổ xung thêm một chút nhé
các bạn cũng có thể thay số 48 bằng 0 và 57 bằng 9. trong code lệnh thứ hai được đấy
vì tôi luôn có bạn bên cạnh
17-05-2010, 01:58 AM
tesulakata
Thành Viên SVIT
Được cảm ơn 22 trong 9 bài viết
Đã viết 159 bài thảo luận
#3
Cách không cho người dùng nhập chữ vào textbox trong VB6

Nguyên văn bởi
nguyen tuan van
tớ bổ xung thêm một chút nhé
các bạn cũng có thể thay số 48 bằng 0 và 57 bằng 9. trong code lệnh thứ hai được đấy
thích cái này nữa
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub


10-11-2010, 10:26 PM
bboy_nonoyes
Thành Viên SVIT
Được cảm ơn 268 trong 154 bài viết
Đã viết 1,011 bài thảo luận
#4
Cách không cho người dùng nhập chữ vào textbox trong VB6
Quan trọng là dùng textbox để làm gì, nếu chỉ dùng để show chữ gì đó 1 lần thì chỉ cần nhiu là đủ 
Code:
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Nhấn "Cảm ơn" khi đọc được bài viết hữu ích chứng tỏ bạn là người lịch sự!
10-11-2010, 11:06 PM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30852 trong 10210 bài viết
Đã viết 23,173 bài thảo luận
#5
Cách không cho người dùng nhập chữ vào textbox trong VB6

Nguyên văn bởi
bboy_nonoyes
Quan trọng là dùng textbox để làm gì, nếu chỉ dùng để show chữ gì đó 1 lần thì chỉ cần nhiu là đủ 
Code:
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Nếu vậy thì disable nó đi luôn cho ổn. chỉ cho nhìn, ko cho nhập
10-11-2010, 11:13 PM
bboy_nonoyes
Thành Viên SVIT
Được cảm ơn 268 trong 154 bài viết
Đã viết 1,011 bài thảo luận
#6
Cách không cho người dùng nhập chữ vào textbox trong VB6

Nguyên văn bởi
Vũ Thanh Lai
Nếu vậy thì disable nó đi luôn cho ổn. chỉ cho nhìn, ko cho nhập
Phải dùng cách này thôi! Nếu để Enable = False thì làm sao copy được nội dung trong textbox ra ngoài???
Cứ để Enable = True rồi thêm code này vào là vừa ngăn chỉnh sửa, vừa có thể copy ra được...
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Nhấn "Cảm ơn" khi đọc được bài viết hữu ích chứng tỏ bạn là người lịch sự!
03-06-2012, 04:09 AM
ngày mai
Thành Viên SVIT
Được cảm ơn 0 trong 0 bài viết
Đã viết 15 bài thảo luận
#7
Cách không cho người dùng nhập chữ vào textbox trong VB6

Nguyên văn bởi
bboy_nonoyes
Phải dùng cách này thôi! Nếu để Enable = False thì làm sao copy được nội dung trong textbox ra ngoài???
Cứ để Enable = True rồi thêm code này vào là vừa ngăn chỉnh sửa, vừa có thể copy ra được...
Tiêu đề Topic là không cho phép nhập chữ mà cậu ơi, lạc đề rồi
03-06-2012, 06:23 AM
Kindaichi
Thành Viên SVIT
Được cảm ơn 29 trong 27 bài viết
Đã viết 333 bài thảo luận
#8
Cách không cho người dùng nhập chữ vào textbox trong VB6

Nguyên văn bởi
ngày mai
Tiêu đề Topic là không cho phép nhập chữ mà cậu ơi, lạc đề rồi
Bạn mới là người lạc đề @@!
Mà tự nhiên đi đào post lâu lắc lên làm gì k biết !
Ngày 22/5/2013 - ngày đầu tiên đổi avt svit.