場景 C#中委托與事件的使用-以Winform中跨窗體傳值為例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 參考上面的博客。 需求是在圖形選項窗體中刷新主窗體的圖。 註: 博客主頁: https://blo ...
場景
C#中委托與事件的使用-以Winform中跨窗體傳值為例:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700
參考上面的博客。
需求是在圖形選項窗體中刷新主窗體的圖。
註:
博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
實現
首先是圖形選項窗體,即發起方。
先要聲明刷新事件(此事件聲明在圖形選項工具類DataChartHelper中):
public static event EventHandler OnRefreshChart;
然後圖形選項窗體的保存按鈕事件中要調用刷新事件時需要觸發:
if (this.Confirm("保存成功") == DialogResult.OK) { Common.DataChart.DataChartHelper.TriggerRefreshChart(); //觸發圖形刷新事件 this.Dispose(); }
此時會觸發在圖形選項工具類中的TriggerRefreshChart(),回到工具類中:
public static void TriggerRefreshChart() { if (OnRefreshChart != null) { OnRefreshChart(null, System.EventArgs.Empty); } }
此時需要在主頁面進行圖的刷新。在主頁面窗體的窗體載入事件中進行事件訂閱:
Common.DataChart.DataChartHelper.OnRefreshChart -= DataChartHelper_OnRefreshChart;
Common.DataChart.DataChartHelper.OnRefreshChart += DataChartHelper_OnRefreshChart;
此時就會執行當前主頁面的方法DataChartHelper_OnRefreshChart:
private void DataChartHelper_OnRefreshChart(object sender, EventArgs e) { DataChartHelper.RefreshPane(this.zedGraphControl1); }
此方法會執行具體的操作,具體操作是調用工具類中的刷新方法。
具體流程圖示