Вывести заданное количество 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

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


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

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

11   голосов , оценка 3.909 из 5
Похожие ответы