成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

利用EventHandler來實(shí)現(xiàn)兩個(gè)窗體間的事件調(diào)用

2010-08-28 10:50:27來源:西部e網(wǎng)作者:

  在.NET中,窗體也被定義為一個(gè)類,所以要想調(diào)用窗體中的某個(gè)方法,除了要將要調(diào)用的方法設(shè)為public外,還得創(chuàng)建一個(gè)窗體類的實(shí)例。然而,在下面這種情況下,就是當(dāng)我們打開了窗體1(有了此窗體的一個(gè)實(shí)例),接著打開了窗體2,接下來我們想通過觸發(fā)窗體2中的某個(gè)事件來調(diào)用窗體1中的某個(gè)方法,而這時(shí)我們又不能再創(chuàng)建窗體的新的實(shí)例了,怎么辦?
  解決的辦法之一就是利用.NET中提供的System.EventHandler來實(shí)現(xiàn)。方法如下:
  建立一個(gè)有兩個(gè)Form的WindowsApplication,在Form1和Form2中各添加一個(gè)Button,下面我們來添加一些代碼。
  首先,先在Form2中添加。

  在Form2中添加一個(gè)System.EventHandler

         publlic event System.EventHandler CallMessage;

  在Form2中Button的Click事件中調(diào)用OnClicks

         private void button1_Click(object sender, System.EventArgs e)
         {
             this.CallMessage(sender,e);
         }

  接下來,在Form1中添加。
  在Form1中添加一個(gè)方法,方法的參數(shù)必不可少

         public void ShowMessage(object sender, EventArgs e)
         {
             MessageBox.Show("another form call this method!");
         }

  在Form1中Button的Click事件中創(chuàng)建一個(gè)Form2的實(shí)例,并加入Form2的CallMessage的實(shí)現(xiàn)方法

         private void button1_Click(object sender, System.EventArgs e)
         {
           Form2 frm=new Form2();
           frm.CallMessage+=new EventHandler(ShowMessage);
           frm.ShowDialog();
         }

  好了,我們的目的就達(dá)到了。
  寫的是簡單了些,希望能起到拋磚引玉的作用。
關(guān)鍵詞:C#
主站蜘蛛池模板: 惠州市| 莆田市| 兴隆县| 屯留县| 连山| 赫章县| 图木舒克市| 兴城市| 衡水市| 牟定县| 临高县| 闽侯县| 辽阳县| 正宁县| 平乐县| 新绛县| 揭阳市| 南汇区| 西和县| 龙江县| 日喀则市| 沙雅县| 襄城县| 宁陕县| 修文县| 大城县| 包头市| 高淳县| 平度市| 杭锦后旗| 三原县| 遵义市| 通榆县| 什邡市| 仙桃市| 铜山县| 鹤山市| 崇明县| 嘉祥县| 正安县| 德阳市|