方法一:(Form2调用Form1中的方法:被调用名称设置在被调用窗体)

1、先在主窗口中设置主窗体可被调用的名称,设置自己的名称的【S】。
这样在其它窗体中就可以使用【S】来调用主窗体的方法了。
public static Form1 s = null;
        public Form1()
        {
            InitializeComponent();
            s = this;//定义主窗体
        }

2、在主窗口编写可以被调用的方法,注意把属性设置为public。

public void SetForm1Value()
        {
            //需要实现功能的代码......
        }

3、比如需要在Form2窗体中的button1按钮调用Form1的SetForm1Value()方法,代码如下:

 private void button1_Click(object sender, EventArgs e)
        {                  
            Form1.s.SetForm1Value(); //调用Form1的方法           
        }



方法二:(Form2调用Form1中的方法:被调用名称设置Form2中)


1、Form2中代码:

        private Form1 F;//设置被调用名称
        public Form2(Form1 F)
        {
            InitializeComponent();
            this.F=F;
        }
       private void btn2_Click(object sender, EventArgs e)
        {               
              F.SetForm1Value();//调用Form1中的方法            
        }

2、Form1中代码:

public Form1()
        {
            InitializeComponent();
        }

private void btn1_Click(object sender, EventArgs e)
        {
             new Form2(this).Show(); //显示Form2窗体                    
        }