Rychlejší přidání položek do TreeView

Postup:
Ve Visual Basicu je implementována snadná, ale bohužel vysoce neoptimalizovaná metoda pro přidávání položek do prvků TreeView nebo Listview. Podívejte se na následující cyklus:

For i = 1 To 5000
    TreeView1.Nodes.Add , , , "Node " & i
Next

Teď si to trochu zoptimalizujeme. Místo abychom se neustále dotazovali objektu TreeView na jeho kolekci uzlů, uložíme si je do dočasné proměnné:

Dim nods As MSComctlLib.Nodes
Set nods = TreeView1.Nodes
    
For i = 1 To 5000
    nods.Add , , , "Node " & i
Next

A pokud ještě vynecháme dočasnou proměnnou tím, že použijeme klauzuli With, tak se dostáváme k optimalizované metodě, která běží cca o 45% rychleji:

With TreeView1.Nodes
    For i = 1 To 5000
        .Add , , , "Node " & i
    Next
End With

Přesně tuto optimalizaci lze aplikovat například na prvek ListView a jeho kolekci.

Zpět

Autor: The Bozena