表單傳值的兩種實現方法樣本

來源:互聯網
上載者:User

標籤:

  這兩天看前輩的視頻初識了表單傳值,於是自己跟著敲了兩個Demo,方便以後複習、分享交流。

 表單傳值的兩種方法:1.通過屬性構造方法傳值  2.利用委託實現傳值。  

 

樣本1:點擊Form1中的按鈕開啟From2,點擊Form2中的按鈕改變表單Form1的背景顏色。

Form1的代碼:

 

 1     public partial class Form1 : Form 2     { 3         public Form1() 4         { 5             InitializeComponent(); 6         } 7        8         private void button1_Click(object sender, EventArgs e) 9         {10             //通過Form2的建構函式將Form1對象傳遞到Form2中11             Form2 form2 = new Form2(this);12             form2.Show();13         }14     }

 

 Form2的代碼:

 1     public partial class Form2 : Form 2     { 3         //首先在Form2中定義Form1類型欄位用來儲存Form1對象 4         Form1 form1=null; 5         Random r = new Random(); 6         public Form2() 7         { 8             InitializeComponent(); 9         }10         public Form2(Form1 form):this()11         {12             //通過構造方法將Form1對象給Form2欄位賦值13             form1 = form;14         }15         private void button1_Click(object sender, EventArgs e)16         {17             //隨機改變Form1的背景顏色18             form1.BackColor = Color.FromArgb(r.Next(256),r.Next(256),r.Next(256));19         }20     }

 

樣本2:Form1中有一個button、label,From2中有button、textBox。點擊Form1中的按鈕開啟From2並在textBox中輸入字元,

再點擊Form2中的按鈕將其輸入的字元顯示在Form1的label上。

Form1的代碼:

 1     public partial class Form1 : Form 2     { 3         public Form1() 4         { 5             InitializeComponent(); 6         } 7  8         private void button1_Click(object sender, EventArgs e) 9         {10             Form2 form2 = new Form2(ShowMsg);11             form2.Show();12         }13 14         //將這個方法通過建構函式傳遞給Form215         public void ShowMsg(string msg)16         {17             label1.Text = msg;18         }19     }

 

Form2的代碼:

 1     //在這裡聲明的委託需要與要傳遞的方法有相同的簽名 2     public delegate void DelTest(string msg); 3  4     public partial class Form2 : Form 5     { 6         //聲明委託欄位用來儲存Form1傳來方法 7         public DelTest _del; 8         public Form2(DelTest del) 9         {10             _del = del;11         }12 13         private void button1_Click(object sender, EventArgs e)14         {15             //執行委託回傳資料16             _del(textBox1.Text);17         }18     }

 

表單傳值的兩種實現方法樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.