C#中怎样跨窗体调用事件-从事件订阅实例入手
生活随笔
收集整理的這篇文章主要介紹了
C#中怎样跨窗体调用事件-从事件订阅实例入手
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
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);}此方法會執行具體的操作,具體操作是調用工具類中的刷新方法。
具體流程圖示
?
?
總結
以上是生活随笔為你收集整理的C#中怎样跨窗体调用事件-从事件订阅实例入手的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringCloud-创建服务消费者-
- 下一篇: c# char unsigned_dll