C#子視窗調用父視窗控制項的委託實現

來源:互聯網
上載者:User

有時子表單的操作需要即時調用父表單中的控制項操作,比如在父表單的文字框中顯示子表單中的輸出:

 

主表單:

[csharp] view plaincopy
  1. MainForm.cs:  
  2.   
  3.     public partial class MainForm : Form  
  4.     {  
  5.         public MainForm()  
  6.         {  
  7.             InitializeComponent();  
  8.         }  
  9.   
  10.         private void button1_Click(object sender, EventArgs e)  
  11.         {  
  12.             SubForm SubForm = new SubForm();  
  13.   
  14.             // 3.將ChangeTextVal加入到委託事件中  
  15.             // 等效於:   
  16.             // SubForm.ChangeTextVal += ChangeTextVal;  
  17.             SubForm.ChangeTextVal += new DelegateChangeTextVal(ChangeTextVal);  
  18.             SubForm.ShowDialog();  
  19.         }  
  20.   
  21.         public void ChangeTextVal(string TextVal)  
  22.         {  
  23.             this.textBox1.Text = TextVal;  
  24.         }  
  25.     }  

子表單:

 

[csharp] view plaincopy
    1. SubForm.cs:  
    2.   
    3.     // 1.定義委託類型  
    4.     public delegate void DelegateChangeTextVal(string TextVal);    
    5.   
    6.     public partial class SubForm : Form  
    7.     {  
    8.         // 2.定義委託事件  
    9.         public event DelegateChangeTextVal ChangeTextVal;  
    10.   
    11.         public SubForm()  
    12.         {  
    13.             InitializeComponent();  
    14.         }  
    15.   
    16.         private void button1_Click(object sender, EventArgs e)  
    17.         {  
    18.             ChangeMainFormText(this.textBox1.Text);  
    19.         }  
    20.   
    21.         private void ChangeMainFormText(string TextVal)  
    22.         {  
    23.             // 4.調用委託事件函數  
    24.             ChangeTextVal(TextVal);  
    25.         }  
    26.     } 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.