首先,我不是全职从事 winform 开发工作,所以不要抨击我太糟糕......
正如标题所描述的那样,在引发和捕获事件后刷新表单上的控件时遇到问题。
在“Form1”上,我有一个 Dockpanel,正在创建两个新表单,如下所示:
Public Sub New()
InitializeComponent()
dpGraph.DockLeftPortion = 225
dpGraph.BringToFront()
Dim frmT As frmGraphTools = New frmGraphTools()
Dim frmG As frmGraph = New frmGraph()
AddHandler frmT.UpdateGraph, AddressOf frmG.RefreshGraph
frmT.ShowHint = DockState.DockLeft
frmT.CloseButtonVisible = False
frmT.Show(dpGraph)
frmG.ShowHint = DockState.Document
frmG.CloseButtonVisible = False
frmG.Show(dpGraph)
End Sub
在 frmGraphTools 类中,我定义了以下委托、事件和按钮单击事件:
Public Delegate Sub GraphValueChanged(ByVal datum As Date)
Public Event UpdateGraph As GraphValueChanged
Private Sub btnSaveMach_Click(sender As Object, e As EventArgs) Handles btnSaveMach.Click
RaiseEvent UpdateGraph(dtpJobDate.Value.ToString())
End Sub
在 frmGraph 类中,我定义了以下子:
Public Sub RefreshGraph(ByVal datum As Date)
CreateGraph(datum)
frmGraphBack.dpGraph.Refresh()
End Sub
我在 frmGraph 表单上有一个 ZedGraph 控件,它应该在单击 frmGraphTools 上定义的按钮时刷新/重绘。一切似乎都正常,frmGraph 中的 RefreshGraph Sub 正在执行,新数据被推送到 ZedGraph 控件中,但是该控件永远不会更新。必须做什么才能使 frmGraph 表单或 ZedGraph 控件正确更新/刷新/重绘?