ComboBox loads slow

  • Thread starter Thread starter 0to60
  • Start date Start date
0

0to60

I am noticing that it seems to take windows a long ass time to paint a
ComboBox control that has say, 32000 items in its dropdown. Yes, I know
that's a lot. However, I have a VB6.0 application that uses DAO to access
an Access database, and it can load up a 32000 item combobox in a fraction
of the time it takes .net 2.0. Why is this?

Also, it seems like setting the .DataSource property takes a while, but the
bulk of the wait time is when the control gets drawn on the screen.
 
I'm assuming you are using databinding which is slow.
Load the ComboBox manually...

32k items in a ComboBox is just nuts...
 
This is likely because it is refreshed each time you add an element. You
could use AddRange to add all items at once or try
SuspendLayout/ResumeLayout to avoid refreshing the control each time.

You may want also to check if another UI would be more efficient for the
users...

As a side note please avoid to post in too many groups...
 
0to60 said:
I am noticing that it seems to take windows a long ass time to paint a
ComboBox control that has say, 32000 items in its dropdown. Yes, I know
that's a lot. However, I have a VB6.0 application that uses DAO to access
an Access database, and it can load up a 32000 item combobox in a fraction
of the time it takes .net 2.0. Why is this?

Also, it seems like setting the .DataSource property takes a while, but
the bulk of the wait time is when the control gets drawn on the screen.

Don't bind it do it manually. I'll assume you're doing it manually with
VB6. Also, if some reader is coming into play on the binding, then the
reader has to go back a read more records, instead of you loading the data
in an Arrylist and bind the Arraylist to the control. All the data is in
memory in the Arraylist, which is faster.
 
As Robbe suggests this is a ridiculous amount of items to store in a combo.
Also you may be suffering from the effect of the databinding problem I
describe in the following article...

http://www.bobpowell.net/ComboBinding.htm

--
--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 
Back
Top