读书人

一个COMBO控件数组有5个同名控件索

发布时间: 2013-06-25 23:45:41 作者: rapoo

一个COMBO控件数组,有5个同名控件,索引号依次为1-5,如何用程序判断,当前光标在哪个COMBO上?
一个COMBO控件数组,有5个同名控件,索引号依次为1-5,如何用程序判断,当前光标在哪个COMBO上?
[解决办法]
可以根据COMBO控件数组的索引号,设置一全局变量com_select,在COMBO控件GotFocus事件中加语句:com_select=index,然后在程序中根据com_select的值知道光标在那个COMBO上。
[解决办法]
本帖最后由 bcrun 于 2013-06-13 16:34:49 编辑 使用-1表示焦点不在combo控件上

Dim cIndex As Long

Private Sub Combo1_GotFocus(Index As Integer)
cIndex = Index
End Sub

Private Sub Combo1_LostFocus(Index As Integer)
cIndex = -1
End Sub

测试,你不能使用按键,因为按键按下,焦点就跑到按键上了
Private Sub Timer1_Timer()
Text1 = cIndex
End Sub



真不知道LZ这么做有什么用处,呵呵
[解决办法]
直接用 Me.ActiveControl.Index 获取。

可以如下测试:窗体上放 5 个成员的 Combo1 控件数组,一个 Label,一个 Timer (Enabled = True, Interval = 200)。


Private Sub Timer1_Timer()
If Me.ActiveControl.Name = "Combo1" Then Label1 = Me.ActiveControl.Index
End Sub

当运行时,在窗体上单击任何一个 Combo1 成员,可看到 Label1 的变化。

读书人网 >VB

热点推荐