我在我的vb6应用程序中使用了msflexgrid,它确实工作得很好,但是如果任何单元格的内容都很大,那么问题就来了。问题是,当我们使用箭头按钮在网格中导航时,导航变得非常慢,当包含大量内容的单元格进入可见的area.Otherwise时,它工作得很好。在这种情况下,我不会尝试打开网格的单元格内容,只是从一个单元格导航到另一个单元格。那么,如何解决或改进这种缓慢的性能或缓慢的导航呢?
发布于 2013-07-22 15:05:07
将Redraw属性设置为false
并在更新完成后再次将其设置为true。
发布于 2013-07-25 22:16:18
我知道,一旦我设置了自动调整列行的大小,就会导致大量的速度问题。现在我通常关闭自动调整大小,在第一次加载数据时将其打开,并通过上下文菜单使其成为用户的一个选项。
发布于 2013-07-26 21:55:18
我使用MSFlex网格控件的Service Pack6(最新)版本设置了一个测试工具,如下所示:
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网格控件有5列和50行。
这将为每个单元生成大约29K (58个字符* 500个重复)的数据。使用这个测试工具,我可以相当快地从一个单元导航到另一个单元。我建议您确保使用的是最新(SP6)版本的控件。
如果您使用的是SP6版本,并且您在每个单元格中显示的数据量太大,以至于仍然会导致性能问题,我建议切换到另一个控件。
可能会集成第三方VB6控件,或者利用您用.NET编写的内容并集成到您的VB6表单中。
https://stackoverflow.com/questions/17110029
复制相似问题