我必须为MsFlexGrid对象调用click事件。
Private Sub MSFlexGridboxcodelist_Click()
box_code = Trim(Me.MSFlexGridboxcodelist.TextMatrix(Me.MSFlexGridboxcodelist.RowSel, 1))
box_type = Trim(Me.MSFlexGridboxcodelist.TextMatrix(Me.MSFlexGridboxcodelist.RowSel, 7))
Me.Txtpack_weight.text = Trim(Me.MSFlexGridboxcodelist.TextMatrix(Me.MSFlexGridboxcodelist.RowSel, 5))
Dim x As Integer
For x = 0 To Me.Combobox_type.ListCount - 1
If Me.Combobox_type.List(x) = box_type Then
Me.Combobox_type.ListIndex = x
Exit For
End If
Next
End Sub
问题是,当我真正点击flexgrid时,这部分工作正常:
Me.Combobox_type.ListIndex = x
但当我这样做时:
Me.MSFlexGridboxcodelist.row = i
Me.MSFlexGridboxcodelist.TopRow = i
Me.MSFlexGridboxcodelist.RowSel = i
For x = 0 To Me.MSFlexGridboxcodelist.cols - 1
Me.MSFlexGridboxcodelist.ColSel = x
Next x
Call MSFlexGridboxcodelist_Click
未选择组合框中所需的项目。所以我想点击某个东西和调用点击事件是有区别的,但我不知道是什么。我知道我可以将组合框的文本设置为我想要的任何内容,但不应该允许用户这样做,所以我将其样式属性设置为下拉列表。
你们能给我小费吗?
提前谢谢。
通过鼠标单击将调用多个事件(其中一些事件可能不会在VB6中公开)。单击事件代码将作为其中一个事件的一部分运行。调用Grid.Click()不会模拟鼠标单击。
不确定第二段代码要做什么?设置ColSel将选择介于.Col和.ColSel之间的列,这样循环将设置一个不断增加的选择大小。事实上,它会选择每一列,所以为什么要麻烦呢?
为什么不将单击事件更改为在检索文本的列中循环?