Creo que el título captura bastante mi pregunta, pero un poco de fondo sigue:¿Por qué BindingList (Of T) no tiene AddRange Member?
Cuando un formulario que tengo carga agrega un par de miles (30k impares) objetos a una lista vinculante. Cuando la aplicación se carga la primera vez, demora varios segundos (alrededor de 10 o más desde la memoria) para recorrer la lista de objetos y agregarla a BindingSource con la función de agregar. Sin embargo, cuando esto sucede en formularios posteriores con el mismo código para cargarlo, solo toma uno o dos segundos.
Entonces mis consultas serían:
1. ¿Por qué BindingList (Of T) no tiene AddRange Member?
2. ¿Las adiciones iniciales y posteriores serían más rápidas con una función AddRange?
3. ¿Alguna idea de por qué una versión del código corre más lento que las versiones idénticas?
Gracias por cualquier ayuda que pueda proporcionar.
¿Se está cargando el formulario cuando se carga la aplicación? ¿Es esa posiblemente la razón de la lentitud? –
Bueno, después de mucho tiempo, finalmente he rastreado un (no estoy seguro de si es el único) problema en DataGridView DefaultRowTemplate ContextMenuProperty. Cuando esto se establece, agrega una cantidad considerable de tiempo cuando agrego elementos al BindingSource subyacente. – ChrisAU
Para referencia futura, me he encontrado con este http://msdn.microsoft.com/en-us/library/ha5xt0d9.aspx usando "Usar menús de acceso directo de manera eficiente". Aprendí esta lección de la manera difícil. – ChrisAU