Вызвать событие одного контрола в другом - VB
Формулировка задачи:
Доброго всем времени суток!
Пожалуйста подскажите как в событии Text1_MouseMove вызвать событие Combo1_Click.
Т.е на форме имеется TextBox и ComboBox нужно,чтобы при наведении указателя мыши на TextBox сработал выпадающий список ComboBox как при клике по ComboBox.
Спасибо!
Решение задачи: «Вызвать событие одного контрола в другом»
textual
Листинг программы
Option Explicit
Dim i&, v
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To Combo1.UBound
With Controls("p" & i)
If X > .Left And X < .Left + .Width And Y > .Top And Y < .Height + .Top Then
.Enabled = 1
With Combo1(i)
.SetFocus
SendKeys "%{down}"
End With
Else: .Enabled = 0
End If
End With
Next
End Sub
Private Sub Form_Load()
Const r = 90
Dim l&, t&, w&, h&
For i = 0 To 2
If i = 0 Then
With Combo1(i): l = .Left: t = .Top: w = .Width: h = .Height: End With
Else
Load Combo1(i)
End If
With Combo1(i)
Set .Container = Controls.Add("vb.PictureBox", "p" & i)
With .Container
.Move l, t, w, h: l = l + w + r
.BorderStyle = 0
.Enabled = 0
.Visible = 1
End With
For Each v In Choose(i, Array("Январь", "Февраль", "Март"), Array("Понедельник", "Среда", "Пятница"), Array(10, 20, 30))
.AddItem v
Next
.ListIndex = 0
.Move 0, 0, w
.Visible = 1
End With
Next
End Sub
Function Choose(ByVal i&, ParamArray a()): Choose = a(i): End Function