首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vb6中调用msflexgrid单击事件

在vb6中调用msflexgrid单击事件
EN

Stack Overflow用户
提问于 2012-09-12 20:16:13
回答 1查看 3.2K关注 0票数 0

我必须为MsFlexGrid对象调用click事件。

代码语言:javascript
复制
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时,此部分按其应有的方式工作:

代码语言:javascript
复制
Me.Combobox_type.ListIndex = x

但是当我这样做的时候:

代码语言:javascript
复制
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

组合框中所需的项未被选中。所以我猜这是点击事件和调用点击事件之间的区别,但我不知道是什么。我知道我可以将combobox的文本设置为我想要的任何内容,但是不应该允许用户这样做,所以我将它的style属性设置为Dropdown list。

你们能给我小费吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-12 20:29:15

通过鼠标单击将调用多个事件(其中一些事件可能不会在VB6中公开)。单击事件代码将作为其中一个事件的一部分运行。调用Grid.Click()不会模拟鼠标单击。

不确定第二段代码要做什么?设置ColSel将选择.Col和.ColSel之间的列,因此循环将设置不断增加的选择大小。事实上,它会选择每一列,所以为什么要麻烦呢?

为什么不将click事件更改为遍历检索文本的列呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12387985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档