通常は問題なく動作する Windows フォーム アプリを使用していますが、頻繁に (<1% の時間)、次のようなエラーが表示されます。
Visual Styles-related operation resulted in an error because no visual style is currently active. at
System.Windows.Forms.VisualStyles.VisualStyleRenderer.get_Handle()
at System.Windows.Forms.VisualStyles.VisualStyleRenderer.DrawBackground(IDeviceContext dc, Rectangle bounds, Rectangle clipRectangle)
at System.Windows.Forms.GroupBoxRenderer.DrawThemedGroupBoxWithText(Graphics g, Rectangle bounds, String groupBoxText, Font font, Color textColor, TextFormatFlags flags, GroupBoxState state)
at System.Windows.Forms.GroupBoxRenderer.DrawGroupBox(Graphics g, Rectangle bounds, String groupBoxText, Font font, TextFormatFlags flags, GroupBoxState state)
at System.Windows.Forms.GroupBox.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.GroupBox.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)
以前に Visual Styles エラーに対処したことがあるので、アプリを使用しているマシンに互換性のあるデスクトップ テーマがあることを確認しました。このエラーで奇妙なのは、この例外がスローされる前に、プログラムが開始され、しばらく (たとえば 30 分) 正常に実行されることです。実行中に Visual Style の状態がどのように変化するかわかりません。
このアプリケーションは、 Awesomiumを使用して Web ページを読み込み、javascript コールバックに応答するWindows フォームを起動するコンソール アプリで構成されています。
コンソール アプリでThreadExceptionEventHandler
リッスンすると、エラーが発生します。Application.ThreadException
エラーが発生したときにおそらくWindowsフォームが破棄されていたのではないかと思いましたが、エラーをログに記録するとフォームのインスタンスメンバーにアクセスできるため、そうではないと思います.myForm.ToString()
私のコードはスタック トレースに含まれていないため、このエラーの説明に他に何が役立つかわかりません。誰もこのようなものを見たことがありますか?