Inserire degli items in una ComboBox in maniera performante
Scritto da
Massimo Bonanni il
venerdì 18 febbraio 2011
•
Linguaggio:
• Livello: 100
A volte si ha la necessità di riempire un controllo ComboBox
(per Windows Form) senza utilizzare il binding ma aggiungendo
elementi alla collezione Items.
Ogni volta che si richiama il metodo Add() della proprietà Items
(di tipo ComboBox.ObjectCollection), il framework ridisegna la
combobox in virtù dei cambiamenti avvenuti e facendo perdere tempo
in una procedura di inserimento massivo.
Per evidare ciò è possibile utilizzare il metodo BeginUpdate()
immediatamente prima di cominciare a riempire la collezione Items e
il metodo EndUpdate() al termine del riempimento.
VB.NET
Me.ComboBox1.BeginUpdate()
For i = 1 To 10000
Me.ComboBox1.Items.Add(i)
Next
Me.ComboBox1.EndUpdate()
C#
this.comboBox1.BeginUpdate();
for (int i = 1; i <= 10000; i++)
{
this.comboBox1.Items.Add(i);
}
this.comboBox1.EndUpdate();
Questi metodi sono disponibili anche su ListView, ListBox
e CheckedListBox.
Tags: