Form2 上定义一个 internal 变量保存所选择的数值。在 ShowDialog 执行后,在 Form1 中可以通过读此变量的值来获取。

解决方案 »

  1.   

    在showdialog执行以后 Form2将被释放(close),internal也将被释放,所以不能获得到呀
    能说的明白一些吗?
      

  2.   

    不如做一个buffer,用来传递消息,如何?
      

  3.   

    把form1当作form2构造函数的参数传进去就行了
      

  4.   

    Form2 form2 = new Form2();
    form2.ShowDialog();this.var1 = form2.yourVar1;
    这样就可以了。
      

  5.   

    在form1中有构造中  private form2 frm_2;
    public form1(form2 a)
    {
    frm_2 =a;
    }
      

  6.   

    窗口关闭不等于窗口不可用,即使用以下代码还是照常能执行:
    Form2 form2 = new Form2();
    form2.ShowDialog();this.var1 = form2.yourVar1;
    form2.ShowDialog(); // 再一次显示。
      

  7.   

    Form2 frm = new Form2();
    if (frm.ShowDialog() == DialogResult.OK)
    {
        MessageBox.Show(frm.textBox1.Text);
    }
    frm.Dispose();
    其中textBox1的属性为public。利用public字段或属性也都可以达到要求
      

  8.   

    在被调用Form里(如Form2)定义一个:
    public int parameter;
    ...
    parameter = value;
    ...在Form1中调用Form2:
    Form2 form2 = new Form2();
    int iTemp = form.parameter; //就可以了