I seem to be getting this random crash with 10.2.20102.1004. Just have an UltraComboEditor with 4 text items and images on a modal dialog. Crash occurs on ShowDialog after randomly opening and closing the dialog a few times without doing anything and no events handled on the combo editor. The only thread is the UI thread.
System.InvalidOperationException was unhandled
Message="Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on."
Source="System.Windows.Forms"
StackTrace:
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.get_InternalHandle()
at System.Windows.Forms.Control.DestroyHandle()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at Infragistics.Win.UltraControlBase.Dispose(Boolean disposing)
at Infragistics.Win.ValueListDropDown.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at Infragistics.Win.ValueList.OnDispose()
at Infragistics.Win.BindableValueList.OnDispose()
at Infragistics.Shared.DisposableObject.Dispose()
at Infragistics.Win.UltraWinEditors.UltraComboEditor.DisposeValueList()
at Infragistics.Win.UltraWinEditors.UltraComboEditor.Dispose(Boolean disposing)
at System.ComponentModel.Component.Finalize()
InnerException:
Hello All, Our development team is looking in to this currently. This behavior is logged in our system as development issue #49507. As soon we discover something I will post it.Than you.
Was a solution found for this? I'm getting the same error when using an UltraDropDown control. We have our form creation wrapped in a using statement and this error still occurs. I can see that we are calling the Dispose method on the control when we dispose of the form but we sill see this error when the Fianalizer is called.
System.InvalidOperationException was unhandled Message=Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on. Source=System.Windows.Forms StackTrace: at System.Windows.Forms.Control.get_Handle() at System.Windows.Forms.Control.get_InternalHandle() at System.Windows.Forms.Control.DestroyHandle() at System.Windows.Forms.Control.Dispose(Boolean disposing) at Infragistics.Win.UltraControlBase.Dispose(Boolean disposing) at Infragistics.Win.ValueListDropDown.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at Infragistics.Win.ValueList.OnDispose() at Infragistics.Win.BindableValueList.OnDispose() at Infragistics.Shared.DisposableObject.Dispose() at Infragistics.Win.UltraWinEditors.UltraComboEditor.DisposeValueList() at Infragistics.Win.UltraWinEditors.UltraComboEditor.Dispose(Boolean disposing) at System.ComponentModel.Component.Finalize() InnerException:
In the exception it appears that the value list is trying to dispose in the Finalize. Knowing this I figured it might not try to do this if the control was already disposed of.
I ended up wrapping the dialog form in a using statement so it always gets disposed of after I'm done using it (instead of randomly when the GC finalizes). After doing this, it appears that the exception no long occurs, even after opening and closing it many times. Still it's difficult to tell if this works 100%. FYI I am using VS2010 with my project targeting .NET 3.5. I tried with 4.0 but it still has the same issue. Additionally I tried the latest hot fix (as of today 9/29/2010 10.2.20102.2060) and it doesn't appear to be fixed yet in that.
Hello All,I was able to reproduce the issue after I put a lot of UltraComboEditors on the second form and click randomly on them.I have forward this issue to our development team, so we will have soon more information.Meanwhile you can use a non modal form and also the suggestion provided form “pjholla” earlier in this thread.Thank you.Sincerely,DimiDeveloper Support EngineerInfragistics, Inc.
Has anyone discovered an answer to this issue? I seem to be having the same issue. When opening and closing a dialog with several ultraComboEditors.
System.InvalidOperationException: Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on.