У меня большое и ресурсоемкое графическое приложение на C #, использующее DotNetBar стороннюю библиотеку пользовательского интерфейса.
Иногда происходит сбой со следующим исключением и стеком вызовов:
====================================
ERROR
====================================
Exception type: ArgumentException
Parameter is not valid.
====================================
CALL STACK
====================================
at System.Drawing.Graphics.get_SmoothingMode()
at DevComponents.DotNetBar.⍜.PaintCaptionBackground(FormCaptionRendererEventArgs e)
at DevComponents.DotNetBar.Rendering.Office2007Renderer.DrawFormCaptionBackground(FormCaptionRendererEventArgs e)
at DevComponents.DotNetBar.OfficeForm.ὀ(Graphics ٠)
at DevComponents.DotNetBar.OfficeForm.ᲀ()
at DevComponents.DotNetBar.OfficeForm.WindowsMessageNCActivate(Message& m)
at DevComponents.DotNetBar.RibbonForm.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Вызывающий сбой в верхней части стека вызов просто обращается к свойству SmoothingMode и свойства get не имеют параметров, поэтому немного сложно понять, что может означать «Параметр недействителен».
Это исключение происходит спорадически, оно не воспроизводится в 100% случаев, но, похоже, действительнобыть связано с большим использованием ресурсов в моем приложении (это происходит при загрузке определенного большого «проекта» в приложение), тогда как другие более мелкие проекты не инициируют это, даже если большие и малые проекты используют интерфейс DotNetBar одинаково.
Что может заставить свойство SmoothingMode
выдавать исключение ArgumentException?