加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Form2操作FORM1的方法

(2007-11-09 20:53:50)
标签:

IT/科技

多窗体

对像的方法:

在Form1中打开Form2,那么你可以把Form1做为参数传到到Form2中如:
在Form2中建一个Public属性FRM1

Form1中把Form1做为参数传到到Form2中

Form2   frm2   =   new   Form2();
frm2.FRM1   =   this;

Frm2.show();
然后面Form2中你就可以写(注意要先把label1设为public)FRM1.label1.Text   =   "gogogogo";  

 

委托方法:

form2里定义delegate
  public   delegate   void   ChangeHandel();
  public   event   ChangeHandel   ChangeEvent;
                private   void   Button1_Click(object   sender,   EventArgs   e)
                {
                          if   (ChangeEvent!=   null)
                                ChangeEvent();
                }

form1里new   Form2
Form2   frm   =   new   Form2();
frm.ChangeEvent   +=   new   ChangeHandel(your_event);

private   void   your_event()
{
    //lab.text   }

 

使用替換控制權來進行傳遞  
  Form1_button1_click  
  value_transfer.Form2   myfrm=new   Form2("ttt");  
  myfrm.Owner=this;  
  myfrm.ShowDialog();  
   
  Form2_button2_click  
  //通過移交控制權來傳遞參數  
    value_transfer.Form1   myfrm=new   Form1();  
  myfrm=(Form1)this.Owner;  
  myfrm.textBox1.Text=this.textBox1.Text;  
  //myfrm.textBox1.Text=myfrm.add(3,5).ToString();  
  //add和myfrm.textBox1設置成PUBLIC才可以訪問的。   
   
通過FORM.   DialogResult來進行參數傳遞  
  Form1_button1_click  
  value_transfer.Form2   myfrm=new   Form2();  
  if   (myfrm.ShowDialog()==System.Windows.Forms.DialogResult.OK)  
  {  
  this.textBox1.Text   =myfrm.textBox1.Text;  
  }  
   
  Form2_button1_click  
  this.DialogResult=System.Windows.Forms.DialogResult.OK;   
   
通過類的屬性來傳遞參數  
  //建立公共類庫  
  Public   class   test()  
  {  
  //設置私有靜態字符類型  
      Private   static   string   temp;  
      Public   class   test()  
  {}  
       
        Public   string   s  
        {  
            Set    
                  {this.temp=values;}  
            Get  
              {return   this.temp;}  
   
  Form2_button1_click  
  value_transfer.Class1   myclass=new   Class1();  
  myclass.test=this.textBox1.Text.Trim();  
   
  Form1_button1_click  
  value_transfer.Class1   myclass=new   Class1();  
  this.textBox1.Text=myclass.test;   
   
窗體傳遞參數  
  FORM2(STRING   ADB);   
   
通過發送消息來傳遞參數   


把数据从一个form传递到另一个from

不妨设要把Form1中的数据要传到Form2的TextBox。

在Form1中:

public delegate void SendData(object sender);

public SendData sendData;

在Form1的相应事件代码中:

if(sendData != null)

{

 sendData(txtDataInForm1);

}

this.Close();

在Form2中:

Form1 frm1 = new Form1();

frm1.sendData = new Form1.SendData(MyFunction);

frm1.ShowDialog();

// ---------------------------------------------------------------

private void MyFunction(object sender)

{

textBox1.Text = ((TextBox)sender).Text;

}


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有