Вывести заданное количество Label - VB
Формулировка задачи:
Условие: В TextBox на Form вводится integer число.
Задача: по этому числу необходимо вывести в Form соответствующее количество Label.
Пояснение: например в TextBox вводится число 3. В Form отражается 3 Label
Что имеем:
Проблема: не знаю как сделать чтобы можно пользователь введя ошибочное число в Text16.Text мог удалить его (при этом корректировалось количество Label), а затем вводя правильное число снова выводилось заданное количество Label. Используя Command знаю... а тут не осилил.
Вроде постарался ясно описать... Спасибо.
Решение задачи: «Вывести заданное количество Label»
textual
Листинг программы
Option Explicit Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Const GWL_STYLE = (-16) Private Const ES_NUMBER = &H2000 Private Sub Form_Load() Text16.Text = 0 Dim lngOldStyle As Long, WD As Long WD = Text16.hwnd lngOldStyle = GetWindowLong(WD, GWL_STYLE) ' установка правил ввода только цифр lngOldStyle = lngOldStyle + ES_NUMBER Call SetWindowLong(WD, GWL_STYLE, lngOldStyle) ' End Sub Private Sub Text16_Change() ' проверка условия Dim A As Integer Dim I As Integer For I = 0 To 60 Label13(I).Visible = False Next I If Val(Text16.Text) > 59 Or Text16.Text = Empty Then MsgBox "Введённое число не соответствует условиям ввода", vbCritical, "Проверка корректности ввода" Text16.Text = Empty Exit Sub End If A = Val(Text16.Text) For I = 0 To A - 1 Label13(I).Visible = True Next I End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д