new - throw exception c#
"System.InvalidOperationException: el objeto está actualmente en uso en otra parte": ¿cómo lo resuelvo? (2)
Obtuve este error al intentar actualizar una imagen. Fue una actualización de hilos cruzados, pero usé .Invoke (), así que ese no debería ser el problema, ¿verdad?
Si el controlador aún no existe, puede forzarlo subclasificando el control y llamando a CreateHandle
; sin embargo, la pregunta más importante es: ¿por qué estás haciendo cosas con un formulario que no se ha cargado? Personalmente, solo comenzaría una operación de este tipo después de Cargar.
(Respondiendo mi propia pregunta, para otros, y para referencia futura)
Creo (todavía no del todo seguro) que esto se debe a que InvokeRequired siempre devolverá falso si el control aún no se ha cargado / mostrado. He hecho una solución que parece funcionar por el momento, que es hacer referencia simple al control del control asociado en su creador, así:
var x = this.Handle;
(Ver http://ikriv.com:8765/en/prog/info/dotnet/MysteriousHang.html - abajo? Versión en caché )
(Pregunta relacionada: reemplazo del código de la placa de la caldera : ¿ hay algo malo sobre este código? )