可以在form3中定义一PUBLIC型变量T,在form1,form2中打开form3时把textbox中的数据传给T

解决方案 »

  1.   

    如下不行吗:
    form3中:
    public string T;form1和form2中:
    form3 oform3=new form3();
    oform3.T=textbox.Text.Tostring();
    oform3.ShowDialog();
      

  2.   

    laibx(喜山雀儿):我试了一下,但没有成功,有代码示例吗??
      

  3.   

    我是这样做的:在form3中定义一个public TextBox  box1;
    button-click后产生如下代码:from3 f=new form3();
    f.Owner = (form1)this;
    f.ShowDialog();
    if(f.ShowDialog()==DialogResult.OK)
    {
       f.box1.Text ="";
       f.box1.Text = this.textbox.Text.ToString();
    }
    但是执行后,box1中没有得到数据。怎么办??? }
      

  4.   

    试试如下方法:
    在form3中定义一个public TextBox  box1;
    在form1和form2的button-click后产生如下代码:
    form3 f=new form3();
    f.box1.Text=textbox.Text.Tostring();
    f.ShowDialog();
      

  5.   

    laibx(喜山雀儿) : 成功了,但我不明白为什么加上if后不能出来结果呢?
    from3 f=new form3();
    f.Owner = (form1)this;
    //f.ShowDialog();
    if(f.ShowDialog()==DialogResult.OK)
    {
       f.box1.Text ="";
       f.box1.Text = this.textbox.Text.ToString();
    }
    f.ShowDialog();但是执行后,box1中没有得到数据。能解释一下吗??
      

  6.   

    同时,还一个问题,当form3 显示的时候,如何才能将form1关闭??我用this.close;
    f.ShowDialog();
    不行,HOW TO DO..(一并给分)谢谢。
      

  7.   

    if(f.ShowDialog()==DialogResult.OK)后语句是关闭form3后执行。
      

  8.   

    如果要在form3 显示的时候,将form1关闭,不能用f.ShowDialog();
    要用f.Show();
      

  9.   

    是[这样么??from3 f=new form3();
    f.Owner = (form1)this;
    //f.ShowDialog();
    if(f.ShowDialog()==DialogResult.OK)
    {
       f.box1.Text ="";
       f.box1.Text = this.textbox.Text.ToString();
    }
    this.close;
    f.Show();还是有问题啊?/
      

  10.   

    当然不能这样做了,如果这样,this已关闭,那么所属它的子窗体也会消失。你的问题可以如下解决:
    在form3的类中,增加两个变量:
    public form1 myForm1;
    public form2 myForm2;在创建form3窗体的时候如下:
    form3 f=new form3();
    f.myForm1=/*此处传进已经生成的form1的实例*/
    f.myForm2=/*此处传进已经生成的form2的实例*/
    f.Show();至于想获得form1或form2的中控件的数据,只需把相应的控件public就行了。