狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

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

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

今天研究了一下,在C#里面卻是可以不用自定義消息這么復(fù)雜的方法來(lái)實(shí)現(xiàn)跨窗體調(diào)用控件,C#有更好的辦法就是委托。

效果描述:有兩個(gè)窗體,F(xiàn)ORM1(一個(gè)名為“打開(kāi)form2”的button控件)和FORM2(一個(gè)名為“改變form1顏色“的button控件)。啟動(dòng)時(shí),F(xiàn)ORM1中點(diǎn)擊button控件“打開(kāi)form2””使FORM2顯示出來(lái)。點(diǎn)擊FORM2中的“改變form1顏色”后,F(xiàn)orm1中顏色改變。

一、在Form2里面:
       首先聲明一個(gè)委托和委托實(shí)例
Form2類(lèi)外

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

Form2類(lèi)里

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

Form2的按鈕事件中調(diào)用委托

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


二、在Form1里面:
button控件“打開(kāi)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);
這句最關(guān)鍵,你輸入到+=之后,按兩下Tab,他會(huì)自動(dòng)給你生成回調(diào)函數(shù),如下:

[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 跨窗體調(diào)用控件  
  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 跨窗體調(diào)用控件  
  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);//執(zhí)行委托實(shí)例  
  17.         }  
  18.     }  
  19. }  

 

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



該文章在 2017/5/27 14:58:41 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved