1

vb6 アプリケーションで msflexgrid を使用していますが、正常に動作しますが、セルに大きなコンテンツがある場合、問題が発生します。問題は、矢印ボタンを使用してグリッド内を移動する場合、大きなコンテンツを含むセルが表示領域に来ると、ナビゲーションが非常に遅くなることです。それ以外の場合は正常に動作します。この場合、グリッドのセル コンテンツを開こうとしているのではなく、あるセルから別のセルに移動するだけです。では、このパフォーマンスの低下やナビゲーションの遅さはどのように解決または改善できるのでしょうか?

4

3 に答える 3

2

Redrawプロパティを次のように設定しますfalse

trueアップデート完了後、再度設定してください。

于 2013-07-22T07:05:06.977 に答える
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 バージョンを使用していて、各セルに表示されているデータの量が非常に多く、依然としてパフォーマンスの問題が発生している場合は、別のコントロールに切り替えることをお勧めします。

サードパーティの VB6 コントロールを統合するか、.NET で作成したものを活用して VB6 フォームに統合する可能性があります。

于 2013-07-26T13:55:18.337 に答える