1

我在我的 vb6 应用程序中使用 msflexgrid,它工作正常,但是如果任何单元格的内容很大,那么问题就来了。问题是当我们使用箭头按钮在网格中导航时,当内容较大的单元格到达可见区域时,导航会变得非常慢。否则它可以正常工作。在这种情况下,我不想打开网格的单元格内容,只是从一个单元格导航到另一个单元格。那么如何解决或改进这种缓慢的性能或缓慢的导航呢?

4

3 回答 3

2

将您的Redraw属性设置为false

true在更新完成后再次设置。

于 2013-07-22T07:05:06.977 回答
1

我知道,一旦我设置了自动调整列行,它就会导致巨大的速度问题。现在我正常关闭自动调整大小,在数据首次加载时将其短暂打开,并通过上下文菜单将其设置为用户的选项。

于 2013-07-25T14:16:18.023 回答
1

我使用 MSFlex 网格控件的 Service Pack 6(最新)版本设置了一个测试工具,如下所示:

Private Sub Form_Load()
    Dim i, j As Integer
    Dim s As String

    For j = 1 To 500
        For i = 65 To 122
            s = s & Chr(i)
        Next i
    Next j

    For i = 1 To 4
        For j = 1 To 10
            MSFlexGrid.Col = i
            MSFlexGrid.Row = j
            MSFlexGrid.Text = s
        Next j
    Next i
End Sub

在我的例子中,MSFlex Grid 控件有 5 列和 50 行。

这会为每个单元格生成大约 29K(58 个字符 * 500 次重复)的数据。使用这个测试工具,我可以相当快速地从一个单元格导航到另一个单元格。我建议您确保您使用的是最新 (SP6) 版本的控件。

如果您使用的是 SP6 版本,并且您在每个单元格中显示的数据量非常大,以至于仍然会导致性能问题,我建议您切换到另一个控件。

可能集成第 3 方 VB6 控件或利用您在 .NET 中编写的内容并集成到您的 VB6 表单中。

于 2013-07-26T13:55:18.337 回答