在使用C1TextBox的过程中,偶然碰到以下异常:
System.InvalidOperationException: 对象当前正在其他地方使用。
在 System.Drawing.Graphics.CheckErrorStatus(Int32 status)
在 System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
在 System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
在 C1.Win.C1Input.C1TextBox.DrawBorder(Graphics g, IntPtr dc, Boolean clear)
在 C1.Win.C1Input.C1TextBox.WmNCPaintSingleline(Message& m)
在 C1.Win.C1Input.C1TextBox.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
遗憾的是,我的程序正在执行业务逻辑很复杂的操作,从异常信息来看,是控件接受了Windows绘制类消息,进行绘制时发生的,错误报在了回调函数中,调用栈也不完整,我无法精确指出是什么代码导致了问题的发生。并且执行相同的操作,问题只有一定概率发生,并不能稳定重现。在此我想询问,此异常可能是控件本身的问题还是使用方法的问题?按版主的经验判断可能是什么方面的调用导致的?我是否有办法避免此异常,若不能,能否拦截到并绕过,使得程序不至于直接崩溃?
|
|