两个子窗体数据的传递
Form1是主窗体(fsMDIForm)
Form2、Form3分别是子窗体(FormStyle都是fsMDIChild,并且都是Available forms)
Form1上有一个Button:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 * NewChildForm;
NewChildForm=new TForm2(Application);
NewChildForm-> Edit1-> Text= "张三 ";
}
Form2上有一个Edit1和一个Button 。Edit1中的Text填上“123”
以下是我要问的:
当我点击Form2子窗体中的Button按钮时能打开Form3 子窗体,并且Form3子窗体中Edit1中的Text也是“张三”
请问如何实现?
我试着这样写:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
TForm3 * NewChildForm;
NewChildForm=new TForm3(Application);
NewChildForm-> Edit1-> Text=Form2-> Button1-> Caption;
}
可提示错误
[解决办法]
修改Form3的.h文件
__fastcall TForm3(TComponent* Owner, String str);
并在.h文件中定义一个变量 String strtmp;
.cpp文件中
__fastcall TForm3::TForm3(TComponent* Owner, String str)
: TForm(Owner)
{
this-> strtmp = str;
}
在Form3 create的时候写
this-> Edit1-> Text = strtmp;
在Form2呼叫form3的时候写
TForm3 * NewChildForm;
NewChildForm=new TForm3(Application, Button1-> Caption;);
NewChildForm-> Show();