当我的控件更新时,vb.net异常GDI +

时间:2013-06-18 07:57:57

标签: vb.net exception controls gdi+

我有一个winforms应用程序,我可以自动从我自己的实例创建控件。

然后,应用程序将更新属性evoluate旁边的这些控件。

到目前为止一切顺利,只是如果我让页面足够开放(几分钟),我似乎无法解决的例外情况就会上升(cf.miniature附加)

提前感谢您为解决此问题所做的一切贡献!

我的表单中的代码示例,它使用TableLayoutPanel构建了groupbox。 此TLP包含标签。这些标签我将自动更新(见下文)

  

Dim GB_sample As GroupBox = Build_my_GB(myobject)
Me.Controls.Add(GB_sample)

接下来,当我的groupbox显示每个标签显示来自“myobject”的数据时,一个事件调用我自己的函数来更新与“myobject”相关的每个标签的数据。 当然,我检查invokerequired属性以检查控件是否可以直接更新。

总而言之,我发现每个标签都在组框中,每个标签都用属性值更新标签:

Private Sub _Ctrl_Updater(ByRef ctrl As Control, ByRef value As Object)
    Select Case ctrl.GetType.Name
        Case "Label"
             ctrl.Text = value.tostring
    End Select
End Sub

例外文字是:

  

通用错误GDI +
  System.Runtime.InteropServices.ExternalException(0x80004005):GDI +中的一般错误。

  to System.Drawing.Graphics.CheckErrorStatus(int32 status)
  to System.Drawing.Graphics.Drawline(...)   to System.Windows.Forms.GroupBox.DrawGroupBox(PaintEventArgs e)
  到System.Windows.Forms.GroupBox.OnPaint(PaintEventArgs e)   到System.Windows.Forms.Control.paintTransparentBackground(...)
  到System.Windows.Forms.Control.PaintBackGround(...)
  到System.Windows.Forms.Control.PaintBackGround(...)
  到System.Windows.Forms.Control.OnPaintBackGround(...)
  to System.Windows.Forms.ScrollableControl.onPaintBackGround(...)
  到System.Windows.Forms.TableLayoutPanel.onPaintBackGround(...)
  到System.Windows.Forms.Control.WmEraseBkgnd(...)
  到System.Windows.Forms.Control.WndProc(...)
  to System.Windows.Forms.Control.ScrollableControl.WndProc(...)
  to System.Windows.Forms.ScrollableControl.WndProc(...)
  到System.Windows.Forms.Control.ControlNativeWindow.OnMessage(...)
  到System.Windows.Forms.Control.ControlNativeWindow.WndProc(...)
  to System.Windows.Forms.NativeWindow.DebuggableCallback(...)
  到System.Windows.Forms.Control.WmPaint(...)
  到System.Windows.Forms.Control.WndProc(...)
  to System.Windows.Forms.ScrollableControl.WndProc(...)
  到System.Windows.Forms.Control.ControlNativeWindow.OnMessage(...)
  到System.Windows.Forms.Control.ControlNativeWindow.WndProc(...)
  to System.Windows.Forms.NativeWindow.DebuggableCallback(...)
  到System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(...)
  to System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(...)
  System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(...)
  System.Windows.Forms.Application.ThreadContext.RunMessageLoop(...)
  System.Windows.Forms.Application.Run(...)

0 个答案:

没有答案