公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 委托實例(跨窗體操作控件)

admin
2017年5月27日 14:58 本文熱度 8095

今天研究了一下,在C#里面卻是可以不用自定義消息這么復雜的方法來實現跨窗體調用控件,C#有更好的辦法就是委托。

效果描述:有兩個窗體,FORM1(一個名為“打開form2”的button控件)和FORM2(一個名為“改變form1顏色“的button控件)。啟動時,FORM1中點擊button控件“打開form2””使FORM2顯示出來。點擊FORM2中的“改變form1顏色”后,Form1中顏色改變。

一、在Form2里面:
       首先聲明一個委托和委托實例
Form2類外

[csharp] view plain copy
  1. public delegate void ChangeFormColor(bool topmost);  

Form2類里

[csharp] view plain copy
  1. public event ChangeFormColor ChangeColor;  

Form2的按鈕事件中調用委托

[csharp] view plain copy
  1. private void button1_Click(object sender, EventArgs e)  
  2.         {  
  3.             ChangeColor(true);//執行委托實例  
  4.         }  


二、在Form1里面:
button控件“打開form2“的click事件中有下面的代碼:

[csharp] view plain copy
  1. {  
  2.     Form2 f = new Form2();  
  3.     f.ChangeColor += new ChangeFormColor(f_ChangeColor);  
  4.     f.Show();  
  5. }  

f.ChangeColor += new ChangeFormColor(f_ChangeColor);
這句最關鍵,你輸入到+=之后,按兩下Tab,他會自動給你生成回調函數,如下:

[csharp] view plain copy
  1. void f_ChangeColor(bool topmost)  
  2.         {  
  3.             this.BackColor = Color.LightBlue;  
  4.             this.Text = "改變成功";  
  5.         }  



 三、完整代碼

[csharp] view plain copy
  1. using System;  
  2. using System.Drawing;  
  3. using System.Windows.Forms;  
  4.   
  5. namespace 跨窗體調用控件  
  6. {  
  7.     public partial class Form1 : Form  
  8.     {  
  9.         public Form1()  
  10.         {  
  11.             InitializeComponent();  
  12.         }  
  13.         private void button1_Click(object sender, EventArgs e)  
  14.         {  
  15.             Form2 f = new Form2();  
  16.             f.ChangeColor += new ChangeFormColor(f_ChangeColor);  
  17.             f.Show();  
  18.         }  
  19.         void f_ChangeColor(bool topmost)  
  20.         {  
  21.             this.BackColor = Color.LightBlue;  
  22.             this.Text = "改變成功";  
  23.         }  
  24.     }  
  25. }  


 

[csharp] view plain copy
  1. using System;  
  2. using System.Windows.Forms;  
  3.   
  4. namespace 跨窗體調用控件  
  5. {  
  6.     public delegate void ChangeFormColor(bool topmost);  
  7.     public partial class Form2 : Form  
  8.     {  
  9.         public Form2()  
  10.         {  
  11.             InitializeComponent();  
  12.         }  
  13.         public event ChangeFormColor ChangeColor;  
  14.         private void button1_Click(object sender, EventArgs e)  
  15.         {  
  16.             ChangeColor(true);//執行委托實例  
  17.         }  
  18.     }  
  19. }  

 

最后再給大家介紹一種最簡單的C#跨窗體操作



該文章在 2017/5/27 14:58:41 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: av片免费大全在线观看不卡 | 国产成人av一区二区三区免费在线 | 国产精品午夜在线观看 | 国产麻豆剧传媒精品好看的片 | 国产美女av毛片 | 国产精品出租屋系列 | 高清在线一区二区高清在线观看 | 精品福利一区二区视频 | 国产精品成熟老女人视频 | 91精品视频在线 | 成人日韩欧美在线视频播放 | 精品国产区一区二区三区在线观看 | 国产午夜无码专区喷水 | 国产午夜福利影院在线观看 | 丰满人妻熟妇乱又伦精品 | 国产精品视频免费一区二区 | 肥熟女视频一区二区三区国 | 99精品视频九九精品视频 | 国产成人av在线免播放观看新 | 精品国产sm捆绑最大网免费站 | 国产剧情高潮调教颜射勾引 | 国产午夜成人无码免费 | 国产精品一线天在线观看 | a级片在线播放 | 国产精品免费麻豆入口 | av收藏夹电影完整版 | 国产高清japanese在线播放 | 精品国产亚洲一区二区三区 | 国产女同精品一级在线 | 国产av无码| 国产一区二区在线视频 | 国产欧洲黄色一级片视频 | 精品国产福利在线观看91啪 | 国产成人av无码 | 97人妻无码公开免费视频 | 成人欧美一区二区三区在线 | av在线网站无码不卡的 | 国产午夜精品久久久久精品电影 | 精品无码综合一区二区三区 | 国产精品秘麻豆免费版口碑爆棚 | 2025国产精品自拍视频 |