Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
155
UltraCheckEditor crash
posted

Hi,

I'm experiencing a very strange error with an Ultracheckeditor that might not be exactly an Infragistics' issue, but I hope someone can help.

I've a project that uses WinForms NetAdvantage_NET_20081_CLR20. Last week I've changed its target .NET framework to 3.5,  updated its references to NetAdvantage_WinForms_20091 and began exchanging inbox controls for Infragistics' ones. Then on one of my forms a newly added UltracheckEditor (for old CheckBox) started to crash whenever I click it with the mouse or with the space bar (that is positioning on it with the TAB and hit space). If I set its state to checked from the code it works fine, the "tick" is drawn properly, but when the user clicks on it it crashes.

I've tried to reproduce it on a separate project but without success so far.

I'm attaching a screen shot of the error

The first part is setting the check from an event handler (when check 3 is clicked). The second is clicking it with the mouse. The ultracheckeditors are only the "check images", that is they are very small 16;16 and the text next to them is from a label. Also the error happens only on the checkbox 4, the first 3 work fine (they are also newly added). I've tried to delete the erroneous control and add a new one, tried to copy paste from one the working checkeditors, but the same error continues to happen. Tried to reinstall Infragistics WinForm but nothing helped. I've also tried to add a new ultracheckeditor to a new form in the same assembly but without success. Adding ultracheckeditor  to other forms in the project also has the same problem. So at some point something broke and I can't add UltraCheckEditors to any form. I've also opened my older project, targetting WinForms NetAdvantage_NET_20081_CLR20 (where I'm using Checkboxes instead of UltraCheckEditor) and tried to add an UltraCheckEditor (from 8.1), but again the error happens. This is so strange, I already have UltraCheckeditors in other forms in the same assembly and they are working fine. Also as I said I was able to substitute 3 of my CheckBoxes to UltraCheckEditors and they are also working, but then suddenly if I try to add ultracheckeditor it is not working. (Reverting project settings won't help since I've already tried it with the older project which uses 8.1 and actually some of the newly added 9.1 UltraCheckEditors are working in the new project).

I'm also pasting a stack trace:

 

Object reference not set to an instance of an object.

Stack Trace:
   at Infragistics.Win.CheckBoxUIElement.get_TextArea()
   at Infragistics.Win.EmbeddableCheckUIElement.DrawFocus(UIElementDrawParams& drawParams)
   at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
   at Infragistics.Win.UIElement.DrawChildElements(UIElementDrawParams& drawParams)
   at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
   at Infragistics.Win.UIElement.DrawHelper(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode, Boolean clipText, Boolean forceDrawAsFocused, Boolean preventAlphaBlendGraphics)
   at Infragistics.Win.ControlUIElementBase.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode, Size elementSize, Boolean preventAlphaBlendGraphics)
   at Infragistics.Win.ControlUIElementBase.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode)
   at Infragistics.Win.UltraControlBase.OnPaint(PaintEventArgs pe)
   at Infragistics.Win.UltraWinEditors.UltraCheckEditor.OnPaint(PaintEventArgs pe)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Parents
  • 37774
    Suggested Answer
    posted

    Are you using multiple threads in your application?  From the call stack it seems that you might be, which could explain the inability to reproduce the issue in a separate application.  If this is the case, you need to ensure that any code that could affect the UI (directly or indirectly) is invoked back to the main UI thread, since no UI-based controls are thread-safe in .NET.

    -Matt

Reply Children