为什么VB6 FlexGrid抛出运行时错误381'下标超出范围'?

撇号

我不太了解VB6,但是我现在在双击一个单元格上有一个问题FlexGrid我可以看到,这是一个广受欢迎的问题,已经问了很多遍,但是大多数用户都在网格中四处循环。我的虽然更简单,但是却崩溃了。

网格具有3行3列。双击第一行中的任何列时,它都可以正常工作。但是当我找到其他人时,会抛出一个错误。错误提示:

运行时错误“ 381”:

下标超出范围。

当前它在下面的行崩溃,该行是2并且col是3:

TextMatrix = myFlexGrid.TextMatrix(row, col)

我只是想知道为什么当行和列的索引都合适时它会崩溃。我认为它可能是从零开始的,但是当单击第一行的第三个单元格时,它可以正常工作。

有没有办法在调试器(Microsoft Visual Basic 6.0)中查看网格的内容?

大师

flexgrid的行和列确实基于0。但是,如果采用FlexGrid.Row和FlexGrid.Col值,则它们将始终在范围内,因为它们表示当前选定的单元格。这样的事情应该起作用:

private sub FlexGrid_DblClick()
    dim CellContents as string
    with FlexGrid
        CellContents = .TextMatrix(.Row,.Col)
    end with
end sub

尽管在您对所选单元格感兴趣的情况下,您始终可以使用

CellContents = FlexGrid.Text

在暂停执行的同时,可以使用IDE的“本地”窗口在运行时获取有关任何控件(或变量)的大量信息。不幸的是,这似乎不包括flexgrid的单元格内容。但是,您始终可以使用“即时”窗口在网格上四处? FlexGrid.TextMatrix(0,2)寻找,并用线条查找导致错误的值和限制。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章