在vb6中调用msflexgrid单击事件

在vb6中调用msflexgrid单击事件,vb6,combobox,msflexgrid,Vb6,Combobox,Msflexgrid,我必须为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.T

我必须为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之间的列,这样循环将设置一个不断增加的选择大小。 事实上,它会选择每一列,那么为什么还要麻烦呢


为什么不更改单击事件以循环检索文本的列?

是的,我知道列选择不是最好的。但这不是这里的问题:)我的问题是我在组合框中搜索网格最后一列的值,当找到它时,我想选择它。我已经得到了值,这就足够了,因为我可以使用它,但我还希望组合框显示它,以确保用户不会感到困惑,并且他们可以看到代码完成了它的工作。如果您找到了值,那么您不知道行和列的编号吗?然后不能设置.row=x、.rowsel=x、.col=y和.colsel=y。i、 突出显示一个单元格?哦,刚刚发现需要使用的内容。同时设置焦点。i、 你不能选择没有焦点的控件…这有点道理。