Создать Control динамически - VB
Формулировка задачи:
Доброго всем времени суток!Пожалуйста помогите разобраться.
Дана процедура (функция) в ней создается локальный временный массив он используется только в этой процедуре (функции).При работе с массивом объявляю его в теле процедуры как Static и проблем нет.
Но если в качестве массива использую ListBox не работает.Когда Control кидаю на форму или создаю динамически при загрузке формы все нормально работает без ошибок.
Когда пишу
Я так понимаю,что все равно объект создается с таким же Name и их получается немеренно,а нужен только один и вести он должен как любая локальная переменная.Что то я не то делаю,а как правильно не знаю.Пожалуйста подскажите на примере или ткните носом где можно почитать вразумительное для "чайников".
Спасибо.
Листинг программы
- Sub MySub (Arr() As String, .....аргументы...)
- Static Mass() As Double
- /
- Что то делает
- /
- End Sub
Листинг программы
- Option Explicit
- Dim Mass As ListBox
- Private Sub Form_Load()
- Set Mass = Me.Controls.Add("VB.ListBox", "MyList")
- With Mass
- .Visible = False: .Text = .Name
- End With
- End Sub
Листинг программы
- Sub MySub (Arr() As String, .....аргументы...)
- Static Mass() As Double
- Set Mass = Me.Controls.Add("VB.ListBox", "MyList")
- With Mass
- .Visible = False: .Text = .Name
- End With
- /
- Что то делает
- /
- End Sub
Решение задачи: «Создать Control динамически»
textual
Листинг программы
- Option Explicit
- Dim B As Integer
- Private Sub Form_Activate()
- B = Me.Controls.Count
- End Sub
- Private Sub Form_Click()
- Static A As Control
- If Me.Controls.Count <= B Then
- Set A = Me.Controls.Add("VB.TextBox", "MyText")
- With A
- .Visible = True: .Top = 2000
- .Text = .Name
- End With
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д