我有一个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(...)