现在有一个赋值问题: 主界面上有一个PANEL,专门用来嵌套form.
form1已经嵌套在主界面的panel中,form1有一个EDIT,BUTTON,现在点击BUTTON跳出界面form2,想从form2里赋值一个字符串给form1.edit1.text,但执行以下语句,form1里没反应.
Tform1.Button1Click()
begin
form2.showmodal;
end; Tform2.Button1Click()
begin
form1.edit1.text :=edit2.text;
close;
end; 声明:如果form1不嵌套在主界面的panel中,一切都正常.
如果form1嵌套在主界面的panel中,form2的这个值该怎么样传递给form1?
form1已经嵌套在主界面的panel中,form1有一个EDIT,BUTTON,现在点击BUTTON跳出界面form2,想从form2里赋值一个字符串给form1.edit1.text,但执行以下语句,form1里没反应.
Tform1.Button1Click()
begin
form2.showmodal;
end; Tform2.Button1Click()
begin
form1.edit1.text :=edit2.text;
close;
end; 声明:如果form1不嵌套在主界面的panel中,一切都正常.
如果form1嵌套在主界面的panel中,form2的这个值该怎么样传递给form1?
解决方案 »
- 怎么获取数据库错误? 并把它用memo显示
- 在delphi7.0中如何将数据导入到excel中?
- 这好象是delphi的bug,大家进来看看,到底是怎么一回事。能解决的重谢!
- 请问如何实现数据表中的记录输出为Excel文件,急用,谢谢!
- RPC不可用请求解决。在线等。。。。。。。。。。。。
- 如何快速的清空一张表?
- 如何画一条连续的贝塞尔曲线?
- 数据库还原问题!
- 有谁用CORBA做过开发,请谈谈经验
- 有关方向键和回车键在DBGrid中应用
- 关于RadioGroup控制图片的小问题,求高手解答(在线等)
- 用ExcelApp.cells[3,3].value,取单元格的值时不是我想要的时间,这个怎么办
Form1 嵌入于Panel,所以是动态创建,而你的Form1又是另外由Application自动创建,实际上你的应用程序里头有两个TForm1对象,Form2的Button1Click的动作,应用程序可能认为是对Application自动创建的Form1上对象操作,而Application自动创建对象此时并没有显示出来,所以就出现你所述问题。
解决办法:
Project->Options->Forms,把Form1从自动创建窗口对象中移除。
在窗体OnCreate里头写上Form1 := TForm1.Create(self);
Form1.Parent := Panel;
Form1.Align := alClient;
Form1.Show;另外,检查一下Form2对象是否实例化
begin
if form2.showmodal= mrok then
form1.edit1.text:=form2.edit2.text;
end; Tform2.Button1Click()
begin
modalresult:=mrok;
end;[/align]