Вывести заданное количество Label - VB

Узнай цену своей работы

Формулировка задачи:

Условие: В TextBox на Form вводится integer число. Задача: по этому числу необходимо вывести в Form соответствующее количество Label. Пояснение: например в TextBox вводится число 3. В Form отражается 3 Label Что имеем:
Листинг программы
  1. Private Sub Text16_Change()
  2. A = Text16.Text
  3. If A > 0 Then
  4. For i = 1 To A
  5. Label13(i).Visible = True
  6. Text18(i).Visible = True
  7. Next i
  8. End If
  9. End Sub
Проблема: не знаю как сделать чтобы можно пользователь введя ошибочное число в Text16.Text мог удалить его (при этом корректировалось количество Label), а затем вводя правильное число снова выводилось заданное количество Label. Используя Command знаю... а тут не осилил. Вроде постарался ясно описать... Спасибо.

Решение задачи: «Вывести заданное количество Label»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  4. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  5. Private Const GWL_STYLE = (-16)
  6. Private Const ES_NUMBER = &H2000
  7.  
  8. Private Sub Form_Load()
  9.  Text16.Text = 0
  10.   Dim lngOldStyle As Long, WD As Long
  11.   WD = Text16.hwnd
  12.   lngOldStyle = GetWindowLong(WD, GWL_STYLE) ' установка правил ввода только цифр
  13.  lngOldStyle = lngOldStyle + ES_NUMBER
  14.   Call SetWindowLong(WD, GWL_STYLE, lngOldStyle) '
  15. End Sub
  16.  
  17. Private Sub Text16_Change() ' проверка условия
  18. Dim A As Integer
  19. Dim I As Integer
  20.         For I = 0 To 60
  21.         Label13(I).Visible = False
  22.         Next I
  23.  
  24. If Val(Text16.Text) > 59 Or Text16.Text = Empty Then
  25. MsgBox "Введённое число не соответствует условиям ввода", vbCritical, "Проверка корректности ввода"
  26. Text16.Text = Empty
  27.  
  28. Exit Sub
  29. End If
  30. A = Val(Text16.Text)
  31.  
  32.         For I = 0 To A - 1
  33.         Label13(I).Visible = True
  34.         Next I
  35.  
  36. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы