【C#】 窗口之间传值

使用事件方法实现窗口之间传值

例如关闭 Form1 时传值给 Form2,可以先在 Form1 中自定义一个事件委托,然后在关闭 Form1 时触发一个事件,在 Form2 中处理。

举例:

Form1:

  
  
  
  
  1. class Form1 : Form  
  2.     {  
  3.         public delegate void mesgEventHandler(object sender, string str);  
  4.         public mesgEventHandler mesg_event;  
  5.         ......  
  6.         //点击确定关闭窗口  
  7.         private void okButton_Click(object sender, EventArgs e)  
  8.         {  
  9.             string str = "returnvalue" ; 
  10.             mesg_event(sender,str);  
  11.             Dispose(true);  
  12.         }  
  13.     }  

From2:

  
  
  
  
  1. class Form2 : Form  
  2.     {  
  3.         ......  
  4.         //打开Form1窗口 
  5.         private void openButton_Click(object sender, EventArgs e)  
  6.         {  
  7.             Form1 f1 = new form(); 
  8.             f1.mesg_event += new f1.mesgEventHandler(show_mesg); 
  9.             f1.Show(); 
  10.         }  
  11.         private void show_mesg(object sender, string returnvalue)      
  12.         { 
  13.              MessageBox.Show(returnvalue); 
  14.         } 
  15.     }  

 

你可能感兴趣的:(窗口,C#,职场,对话框,休闲)