Is there a faster way to load 18k items into a Combo Dropdown?

Viewed 692

I am having to fix some old VB6 code and one of the problem is that the app is loading 18k items into 3 different Combo Dropdowns on startup. Needless to say, this takes a long time. So I changed from using .AddItem method to using SendMessage APIs. This cut down the time dramatically (by 60% or so), but each dropdown still takes 1.4 seconds to load, so the startup is still 5s.

I also tried to talk the users into not having all 18k there, but they insist that all entries must be there for quick lookup.

My questions...

  1. Is there a faster way of loading that many items?
  2. Anyway just to share the data between 3 combo boxes, rather than having to add 18k to each?
  3. Any other solutions I may have overlooked.
2 Answers

SetRedraw to false during loading saves a lot of time.

Related