我在我的vb6应用程序中使用msflexgrid,它确实工作正常,但如果任何单元格内容很大,则问题就出现了。问题是当我们使用箭头按钮在网格中导航时,当具有大内容的单元格到达可见区域时导航变得非常慢。否则它可以正常工作。在这种情况下,我不是试图打开网格的单元格内容,只是从一个单元格导航到另一个单元格。那么如何解决或改善这种缓慢的性能或慢速导航呢?
答案 0 :(得分:1)
将Redraw
媒体资源设为false
更新完成后再次将其设置为true
。
答案 1 :(得分:1)
我知道,一旦我设置了autosize列行,就会导致大量的速度问题。现在我正常关闭自动大小,在数据首次加载时将其打开,并通过上下文菜单为用户提供选项。
答案 2 :(得分:1)
我使用Service Pack 6(最新)版本的MSFlex网格控件设置了测试工具,如下所示:
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版本,并且您在每个单元格中显示的数据量太大而仍然导致性能问题,我建议您切换到另一个控件。
可能集成第三方VB6控件或利用您在.NET中编写的内容并集成到VB6表单中。