在form2中添加一个form1类型的属性,然后发下的操作:form1中:Form2() f = new Form2();
f.form1 = this;
f.Show/ShowDialog();
form2中:
this.form1.属性/方法/字段的操作.//form1为Form1类型的属性或public变量.

解决方案 »

  1.   

    这样不好
    你写form2的时候 不一定知道是form1调用它
      

  2.   

    在Form1中:
    private static string var = "Hello";private void button1_Click(object sender, System.EventArgs e)
    {
    Form2 myFrm = new Form2();
    myFrm.Show();
    } public static string GetString
    {
    get{ return var; }
    }在Form2中:
    private void Form2_Load(object sender, System.EventArgs e)
    {
    string var = Form1.GetString;
    MessageBox.Show(var);
    }
      

  3.   

    我还.......不用静态的话,也可以呀!写一个Form2带参数所造成函数,然后在Form1中构造Form2的时候传进去!例: 传一个字符串在Form2中:private string strVar;
             //定义Form2的构造函数并初始化strVar变量
             public Form2(string Var)          
             {
                  strVar = Var;              
              }在Form1中:
    private void button1_Click(object sender, System.EventArgs e)
    {
    Form2 myFrm = new Form2("这是从Form1中获得的值");
    myFrm.Show();
    }
      

  4.   

    用不了这么麻烦。代码如下:
    在form1中调用form2:
    form2 typeform = new form2();
    typeform.Owner = this;
    typeform.ShowDialog();在form2中调用form1中的成员时利用((form1)this.Owner)就可以了。
      

  5.   

    传值的方法很多吧,用public static或在form2的构造函数里传form1都可以的
      

  6.   

    http://developer.ccidnet.com/pub/disp/Article?columnID=295&articleID=34309&pageNO=1