When I launch a form as a dialog and click a combo box on the form and without selecting any items, I click anywhere else in the form, the form is closed automatically. What events are triggered by this that caused the form close? Is there any good way to look in it?
subchap said:Do you have a general idea on when the bug was fixed? Also, where can I find the detailed description of the bug?
I'm afraid I don't have any specifics. I'm going by a vague recollection here. If I had to guess, I would say it was about a year ago or more.
You can get the latest Hot Fix here: My Infragistics Keys and Downloads - Download Anything and Everything You Own
subchap said:It is weird, though, that the problem only occurs when clicking mouse. If I hit tab when the dropdown box is open, everything is fine and only that box is closed up.
Actually, I believe the bug I am thinking of was related to the form getting focus. So this could very well be the same issue.
subchap said:Another question: can I force a DropDownEditorButton to keep dropped down and discard any closeup events for a period of time?
No, there's no way to do that.
Do you have a general idea on when the bug was fixed? Also, where can I find the detailed description of the bug? It seems that your description fits mine very well.
It is weird, though, that the problem only occurs when clicking mouse. If I hit tab when the dropdown box is open, everything is fine and only that box is closed up.
The hotfix version we're using is 7.1.20071.1055.
Another question: can I force a DropDownEditorButton to keep dropped down and discard any closeup events for a period of time?
subchap said:Forgot to mention that the UserControl is associated to an UntraTextEditor, which is also a dropdown box.
Ah, that's a very important detail. :)
What version of the controls are you using? There was a bug that could be causing this issue.The bug was basically that when you close one dropdown, it was closing all dropdowns in which it was contained. This bug was fixed a while ago, though.
You should download the latest Hot Fix and see if that helps.
If not, you should try to duplicate the issue in a small sample project and Submit an incident to Infragistics Developer Support
Forgot to mention that the UserControl is associated to an UntraTextEditor, which is also a dropdown box. So is it possible that the closeup was sent to this dropdown box, instead of the one on Form B?
If so, can I force the dropdown box of the UntraTextEditor to keep dropped down and cannot be closed up by any events? In that case, will the closeup message be sent correctly to Form B?
I am sure that the form is closing because the Form_Closing event was called. And there isn't any exception showing up after I set the IDE to break on all exceptions.
However, I set a breakpoint to catch the point when the usercontrol (which started Form B) was forced to be closed. From the call stack, it seems that when I click the combo box and then click other places, a CloseDropDown (or something like that) message was sent, and then Infragistics.Win.DropDownManager.Close() was called. Then Infragistics.Win.UltraWinEditors.DropDownEditorButton.OnCloseUp was called to close the dropdown, but right after that, Infragistics.Win.UltraWinEditors.EditorButtonControlBase.OnAfterEditorButtonCloseUp was invoked and that one closed the UserControl. Is it possible? If so, how do I prevent it?
Here's the detailed call stack list (starting from the bottom):
Infragistics2.Win.v7.1.dll!Infragistics.Win.UltraWinEditors.EditorButtonControlBase.OnAfterEditorButtonCloseUp(Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) + 0x4f bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.UltraWinEditors.EditorButtonControlBase.internalOnEditorButtonAfterCloseUp(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) + 0xe bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.UltraWinEditors.EmbeddableEditorButtonBase.OnAfterEditorButtonCloseUp(Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) + 0x17 bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.UltraWinEditors.EmbeddableEditorButtonBase.internalEditorButtonAfterCloseUp(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) + 0xe bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.UltraWinEditors.DropDownEditorButtonBase.OnAfterCloseUp(Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) + 0x1d bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.UltraWinEditors.DropDownEditorButton.OnCloseUp(object sender, System.EventArgs e) + 0xa4 bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.DropDownManager.Close() + 0x28e bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.DropDownManager.InternalCloseDropDown(System.Windows.Forms.Control owner) + 0xc3 bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.DropDownManager.CloseDropDown(System.Windows.Forms.Control owner) + 0x40 bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.DropDownManager.System.Windows.Forms.IMessageFilter.PreFilterMessage(ref System.Windows.Forms.Message msg) + 0x645 bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.DropDownManager.MessageFilterProxy.System.Windows.Forms.IMessageFilter.PreFilterMessage(ref System.Windows.Forms.Message msg) + 0x2f bytes Infragistics2.Win.v7.1.dll!Infragistics.Win.Utilities.MessageFilterManager.System.Windows.Forms.IMessageFilter.PreFilterMessage(ref System.Windows.Forms.Message m = {msg=0x201 (WM_LBUTTONDOWN) hwnd=0x30f28 wparam=0x1 lparam=0x7501c2 result=0x0}) + 0x72 bytes System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.ProcessFilters(ref System.Windows.Forms.NativeMethods.MSG msg = {System.Windows.Forms.NativeMethods.MSG}, out bool modified = false) + 0xf0 bytes System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(ref System.Windows.Forms.NativeMethods.MSG msg = {System.Windows.Forms.NativeMethods.MSG}) + 0x38 bytes System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FPreTranslateMessage(ref System.Windows.Forms.NativeMethods.MSG msg) + 0x5 bytes System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(int dwComponentID, int reason = 4, int pvLoopData = 0) + 0x22e bytes System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = 4, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.Application.ModalApplicationContext}) + 0x177 bytes System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x61 bytes System.Windows.Forms.dll!System.Windows.Forms.Application.RunDialog(System.Windows.Forms.Form form) + 0x33 bytes System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window owner) + 0x373 bytes System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog() + 0x7 bytes