|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
ComboBox loads slowI 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... -- Show quoteRobbe Morris [Microsoft MVP - Visual C#] ..NET PropertyGrid Control - ListBox, ComboBox, and Custom Classes http://www.eggheadcafe.com/tutorials/aspnet/270e9432-d236-47e7-b1af-5cd3abe27a75/net-propertygrid-control.aspx "0to60" <holeshot60@yahoo.nospam> wrote in message news:%23ZC%23wxaEIHA.4712@TK2MSFTNGP04.phx.gbl... >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. > 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... -- Patrice "0to60" <holeshot60@yahoo.nospam> a écrit dans le message de news: %23ZC%23wxaEIHA.4***@TK2MSFTNGP04.phx.gbl...Show quote >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. > "0to60" <holeshot60@yahoo.nospam> wrote in message Don't bind it do it manually. I'll assume you're doing it manually with news:%23ZC%23wxaEIHA.4712@TK2MSFTNGP04.phx.gbl... >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. > 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 -- Show quote-- 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. "0to60" <holeshot60@yahoo.nospam> wrote in message news:%23ZC%23wxaEIHA.4712@TK2MSFTNGP04.phx.gbl... >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. > |
|||||||||||||||||||||||