Я делаю маркировку, обновляющую систему баз данных. Мне нужно ограничить каждое из моих текстовых полей значением менее 100, когда его более 100 или когда его номер не появится, появится окно с сообщением, и данные не будут сохранены до тех пор, пока пользователь не изменит ошибку. Как мне это сделать?Как ограничить значение текстового поля в vb 6.0
ответ
Я согласен с Hiren Pandya, но я думал, что добавлю свой собственный подход.
Помните, что преобразование строки в числовое значение не является тривиальным, но функции Val, CInt, CDBl и т. Д. В VB6 могут дать вам поведение, близкое к тому, что вы хотите. (некоторые из этих ссылок относятся к VB.Net, но все равно могут быть полезными). Вы хотите, чтобы вы думали о группировке цифр, положительных/отрицательных, десятичных разделителях и т. Д., Когда вы сами проверяете ввод пользователя. В большинстве случаев встроенные функции достаточно хороши.
Private Sub Text1_Change()
On Error GoTo Err_Handler
Dim text As String
text = Text1.text
If IsNumeric(text) = True Then
'If you only want integers...
Dim value As Integer
value = Val(text)
If value <= 100 And value > 0 Then
'The value is good so whatever stuff you need to do
'And then leave the procedure
Exit Sub
End If
End If
'Let everything else fall through here...
Err_Handler:
MsgBox "Invalid input."
'Other stuff to prevent saving
End Sub
В свойствах текстового поля, установите MaxLength на 2.
Если вы хотите, сообщение в текстовом поле Изменить событие, вы могли бы сделать ...
If Len(txtBox.Text)>2 then msgbox...
затем добавить свой сообщение в окне сообщений.
Я мог бы углубиться в детали, если вам это нужно. Некоторые вещи, как показано ниже ...
Private Sub Text1_Change()
If Len(Text1) > 6 Then
Text1 = " "
MsgBox "Not more than six"
Text1.SetFocus
End If
End Sub
Могу ли я спросить, что такое использование SetFocus, можете ли вы перейти к более подробным сведениям? Спасибо :) – WaiShyang
SetFocus установит фокус (курсор) в текстовое поле. Означает, что после появления окна сообщения, когда пользователь возвращается к форме, курсор будет находиться в текстовом поле, на которое был применен SetFocus. –
- 1. VB 6.0 - Формирование текстового поля «dd/MM/yy»
- 2. Как ограничить количество символов в текстовом поле в vb 6.0
- 3. Как ограничить длину текстового поля?
- 4. Как ограничить размер текстового поля?
- 5. Как ограничить размер текстового поля в swt?
- 6. Как ограничить размер текстового поля в WP7?
- 7. Предельное значение текстового поля
- 8. Значение текстового поля в трекбаре
- 9. Ограничить количество слов текстового поля в JQuery
- 10. Значение длины текстового поля
- 11. Как ограничить значение текстового поля максимальным значением для ключевых событий?
- 12. VB 6.0 - Дата форматирования
- 13. Как ограничить датупиксером для одного текстового поля
- 14. Как ограничить создание текстового поля только пробелами?
- 15. Как ограничить длину текста поля шаблона текстового поля в gridview?
- 16. VB 6.0 - System.Uri.EscapeDataString в VB 6
- 17. Изменение недопустимого значения текстового поля - VB NET
- 18. Как выбрать предыдущий ЗАПИСЬ в VB 6.0
- 19. PHP-переменная в vb 6.0
- 20. Бесплатный декомпилятор VB 6.0?
- 21. Модуль VB 6.0
- 22. Как отображать тег текстового поля как значение внутри текстового поля?
- 23. Треугольник Паскаля в VB 6.0
- 24. Как обновить значение текстового поля
- 25. Как предупредить значение текстового поля
- 26. Как проверить значение текстового поля
- 27. Как удалить значение поля текстового поля/text_area
- 28. VB 6.0 Ошибка в памяти
- 29. Как сохранить значение текстового поля?
- 30. Поиск с помощью текстового поля VB
Thanks для вашей помощи, миссия решена, спасибо кучу !!! – WaiShyang