当子窗体form1创建显示出来后,点击form1上的按钮弹出form2 ,然后将form2中选中的值赋给form1的edit1

解决方案 »

  1.   

    将form2选中的值定义为全局变量,然后传递回form1的edit1
      

  2.   

    上面的错了。直接form2里引用form1的unit。然后将form2选中的值赋值给form1的edit1就可以了。
      

  3.   

    引用FORM1单元form1.edit1.text:=form2......
      

  4.   

    当form1 不是子窗体的时候,你们说的都没问题
    继续等待。
      

  5.   

    当form1 不是跟主窗体一起Auto-create的时候也没问题
      

  6.   

    上面的错了,当form1 跟主窗体(MForm)一起Auto-create的时候也没问题
    如果form1 为子窗体,并且不是跟主窗体一起Auto-create,而是动态创建的时候
    procedure TMForm.Button2Click(Sender: TObject);
     var Form1:TForm1;
    begin
     try
      Form1:=TForm1.Create(self);
      Form1.Show ;
     except
     end ;
    通过主窗体上的按钮赋值都报错,代码如下:
    procedure TMForm.Button1Click(Sender: TObject);
    begin
     form1.Edit1.Text:='11' ;
    end;
      

  7.   

    从2发送消息到1 。
    WM_CopyXXXX
    忘记了。
    反正有这个消息的。
      

  8.   

    改写子窗体的构造函数,把form1的edit1在子窗体创建时传给form2,然后就可以在form2中使用edit1了
      

  9.   

    自己搞个form2.ShowModal(var string value);就行了。
    如果不是ShowModal,就搞个
    form2.OnValueChanged = OnValueChanged;
    TForm1.OnValueChanged(Object Sender; string Value)
    begin
      edit1.Text = Value;
    end;