最初に、私はフルタイムで winform 開発を行っていないので、私を悪く言わないでください...
タイトルが示すように、イベントが発生してキャプチャされた後、フォームのコントロールを更新する際に問題が発生しています。
「Form1」には Dockpanel があり、以下に示すように 2 つの新しいフォームを作成しています。
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 クラス内には、次の Sub が定義されています。
Public Sub RefreshGraph(ByVal datum As Date)
CreateGraph(datum)
frmGraphBack.dpGraph.Refresh()
End Sub
frmGraphToolsで定義されているように、ボタンをクリックすると更新/再描画されることになっているfrmGraphフォームにZedGraphコントロールがあります。すべてが機能しているように見えます。frmGraph 内の RefreshGraph Sub が実行され、新しいデータが ZedGraph コントロールにプッシュされますが、コントロールは更新されません。frmGraph フォームまたは ZedGraph コントロールを適切に更新/更新/再描画するには、何をする必要がありますか?