我对VB6
并不是很了解,但我目前在双击FlexGrid
中的单元格时遇到问题。我可以看到这是一个多次被问到的流行问题,但是大多数用户都在网格中循环。我的更简单,但它崩溃了。
网格有3行3列。 当双击第一行中的任何列时,它可以正常工作。但是当我遇到其他人时,它会抛出一个错误。错误说:
运行时错误'381':
下标超出范围。
它当前在以下行崩溃,其中行为2且col为3:
TextMatrix = myFlexGrid.TextMatrix(row, col)
我只是想知道为什么它会在行和列的索引正常时崩溃。我认为它可能是从零开始的,但是当点击第一行的第三个单元格时,它可以正常工作。
有没有办法在调试器中看到网格的内容(Microsoft Visual Basic 6.0)?
答案 0 :(得分:1)
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
您可以在运行时使用" Locals"获取有关任何控件(或变量)的大量信息。 IDE的窗口,暂停执行。不幸的是,这似乎并不包括flexgrid的细胞内容。您可以随时使用“立即”窗口感受网格,使用? FlexGrid.TextMatrix(0,2)
之类的行来查找导致错误的值和限制。