第一种方法:
用委托,Form2和Form3是同一组
Form2
using System;   
using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Text;   
using System.Windows.Forms;   
  
namespace TestMouseMove   
{   
    
public delegate void SetVisiableHandler();   
  
    
public partial class Form2 : Form   
    {   
        
public Form2()   
        {   
            InitializeComponent();   
        }   
        
private void button1_Click(object sender, EventArgs e)   
        {   
            Form3 frm 
= new Form3(new SetVisiableHandler(SetVisiable));   
            frm.Show();   
        }   
  
        
private void SetVisiable()   
        {   
            SetVisiable(
this.label1, !this.label1.Visible);   
        }   
  
        
private void SetVisiable(Control control, bool visiable)   
        {   
            
if (this.Controls.Contains(control))   
            {   
                control.Visible 
= visiable;   
            }   
        }   
  
    }   
}  

Form3

using System;   
using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Text;   
using System.Windows.Forms;   
  
namespace TestMouseMove   
{   
    
public partial class Form3 : Form   
    {   
        
private SetVisiableHandler m_setVisible;   
  
        
public Form3(SetVisiableHandler setvisible)   
        {   
            InitializeComponent();   
            
this.m_setVisible = setvisible;   
        }   
        
private void btnVisible_Click(object sender, EventArgs e)   
        {   
            
if (this.m_setVisible != null)   
            {   
                
this.m_setVisible();   
            }   
        }   
  
    }   
}  

 

第二种方法:
用变量,Form4和Form5是同一组
Form4

using System;   
using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Text;   
using System.Windows.Forms;   
  
namespace TestMouseMove   
{   
    
public partial class Form4 : Form   
    {   
        
public Form4()   
        {   
            InitializeComponent();   
        }  
 
        
#region 子窗口刷新父窗口的值   
  
        
private string strLabel1 = "";   
  
        
public string StrLabel1   
        {   
            
get  
            {   
                
return strLabel1;   
            }   
            
set  
            {   
                strLabel1 
= value;   
                
this.label1.Text = strLabel1;   
            }   
        }  
        
#endregion   
  
        
private void button1_Click(object sender, EventArgs e)   
        {   
            Form5 form5 
= new Form5(this);//这里注意传个this   
            form5.Show();   
        }   
    }   
}  

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestMouseMove
{
    
public partial class Form4 : Form
    {
        
public Form4()
        {
            InitializeComponent();
        }

        
#region 子窗口刷新父窗口的值

        
private string strLabel1 = "";

        
public string StrLabel1
        {
            
get
            {
                
return strLabel1;
            }
            
set
            {
                strLabel1 
= value;
                
this.label1.Text = strLabel1;
            }
        }
        
#endregion

        
private void button1_Click(object sender, EventArgs e)
        {
            Form5 form5 
= new Form5(this);//这里注意传个this
            form5.Show();
        }
    }
}

 

Form5

using System;   
using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Text;   
using System.Windows.Forms;   
  
namespace TestMouseMove   
{   
    
public partial class Form5 : Form   
    {   
        Form4 form4 
= new Form4();   
  
        
public Form5(Form4 formFrm)//这个构造方法里有参数   
        {   
            form4 
= formFrm; //这个必须要有   
            InitializeComponent();   
        }   
  
          
        
private void button1_Click(object sender, EventArgs e)   
        {   
            form4.StrLabel1 
= this.textBox1.Text;   
        }   
    }   
}  

 

 

posted on 2009-12-25 15:10  arong.NET  阅读(488)  评论(0编辑  收藏  举报