窗体间值传递

zql177 2009-10-24 04:41:09
当子窗体form1创建显示出来后,点击form1上的按钮弹出form2 ,然后将form2中选中的值赋给form1的edit1
...全文
105 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wpw72 2009-11-16
  • 打赏
  • 举报
回复
简单点就用个全局变量吧
lake_cx 2009-10-27
  • 打赏
  • 举报
回复
自己搞个form2.ShowModal(var string value);就行了。
如果不是ShowModal,就搞个
form2.OnValueChanged = OnValueChanged;
TForm1.OnValueChanged(Object Sender; string Value)
begin
edit1.Text = Value;
end;
凯文2016 2009-10-27
  • 打赏
  • 举报
回复
消息肯定可以吧
xyzsuper 2009-10-25
  • 打赏
  • 举报
回复
改写子窗体的构造函数,把form1的edit1在子窗体创建时传给form2,然后就可以在form2中使用edit1了
iamduo 2009-10-25
  • 打赏
  • 举报
回复
从2发送消息到1 。
WM_CopyXXXX
忘记了。
反正有这个消息的。
zql177 2009-10-24
  • 打赏
  • 举报
回复
上面的错了,当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;
zql177 2009-10-24
  • 打赏
  • 举报
回复
当form1 不是跟主窗体一起Auto-create的时候也没问题
zql177 2009-10-24
  • 打赏
  • 举报
回复
当form1 不是子窗体的时候,你们说的都没问题
继续等待。
nkym0626 2009-10-24
  • 打赏
  • 举报
回复
引用FORM1单元

form1.edit1.text:=form2......
capzlf 2009-10-24
  • 打赏
  • 举报
回复
上面的错了。

直接form2里引用form1的unit。然后将form2选中的值赋值给form1的edit1就可以了。
capzlf 2009-10-24
  • 打赏
  • 举报
回复
将form2选中的值定义为全局变量,然后传递回form1的edit1

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧