Как узнать, инициализирована ли форма? - VB
Формулировка задачи:
Проверяю так:
Можно как-то проще?
Решение задачи: «Как узнать, инициализирована ли форма?»
textual
Листинг программы
Option Explicit Const ii = 4000, jj = 3000, r = 90 Public WithEvents lbx As ListBox Dim i&, v Private Sub lbx_Click() With lbx If .ListIndex = 0 Then For Each v In Forms: Unload v: Next Else Forms(.ListIndex - 1).SetFocus End If End With End Sub Private Sub Form_Load() Tag = Forms.Count - 1 Caption = "Окно " & Tag + 1 Move (Tag Mod 2) * ii, Abs(Tag > 1) * jj, ii, jj If Tag = 0 Then Set lbx = Controls.Add("vb.listbox", "lbx"): With lbx .Move r, r, ii \ 2, jj \ 2 For Each v In Array("Закрыть все", "Фокус на окно ") i = i + 1 If i = 2 Then For i = 1 To 4 .AddItem v & i Next Else: .AddItem v End If Next .Visible = 1 End With End If If Forms.Count < 4 Then On Error Resume Next With New Form1 .Visible = 1 End With End If End Sub Private Sub Form_Unload(Cancel As Integer) If Tag = 0 Then lbx.ListIndex = 0 Else On Error Resume Next With Forms(0) .lbx = "фокус на " & Me.Caption .lbx.RemoveItem (.lbx.ListIndex) End With End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д