Почему не работает автоматическая блокировка элементов управления - VB
Формулировка задачи:
Доброго времени суток. Недавно начал изучение ВБ6 (интересуют базы данных). Наставником выбрал Джона Коннэлла, но некоторые практикумы (готовые коды) не работают. Один из них (автоматическая блокировка элементов управления):
Почему не работает? При этом выделяет синим iIndx
Листинг программы
- Public Sub lockTheControls(bLocked As Boolean)
- Dim iIndx As Integer
- With Screen.ActiveForm
- For iIndx = 0 To .Controls.Count - 1
- If (.Controls(iIndx).Tag = "1") Then
- If (TypeOf .Controls(iIndx) Is TextBox) Then
- If (bLocked) Then
- .Controls(iIndx).Locked = True
- .Controls(iIndx).BackColor = vbWhite
- Else
- .Controls(iIndx).Locked = False
- .Controls(iIndx).BackColor = vbYellow
- End If
- End If
- End If
- Next
- End With
- End Sub
Решение задачи: «Почему не работает автоматическая блокировка элементов управления»
textual
Листинг программы
- Private Sub Command1_Click()
- '''''У ТекстБоксов, которые надо блокировать, поставить свойство Tag=1
- Call lockTheControls(True)
- End Sub
- Public Sub lockTheControls(bLocked As Boolean)
- Dim iIndx As Integer
- With Screen.ActiveForm
- For iIndx = 0 To .Controls.Count - 1
- If (.Controls(iIndx).Tag = "1") Then
- If (TypeOf .Controls(iIndx) Is TextBox) Then
- If (bLocked) Then
- .Controls(iIndx).Locked = True
- .Controls(iIndx).BackColor = vbRed 'Для наглядности сделал красный цвет у блокируемых текстбоксов
- Else
- .Controls(iIndx).Locked = False
- .Controls(iIndx).BackColor = vbYellow
- End If
- End If
- End If
- Next
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д