!!!!!急菜鸟问题:关于edit的问题,急!!!!!

tinyghost 2002-04-02 10:01:49
是这样的:
有3个form分别为form1,form2,form3其上各有一个edit控件,分别和form名对应为edit1,edit2,edit3,现在想将edit1里面的内容修改然后传递到edit2上,然后再将edit2的内容不经修改传递到edit3(实际上就是想将edit1的内容通过edit2传递到edit上)
但不知为什么就是到不了edit3,各位大虾,有知道解决方法的请告诉我
...全文
21 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tinyghost 2002-04-07
  • 打赏
  • 举报
回复
我试了,我想知道为什么我在form2中添加代码不可以?还有就是edit2的text不是已经改了么?为什么它的text还是初始的?谢谢大家
tinyghost 2002-04-03
  • 打赏
  • 举报
回复
我出现的现象是,当你把edit1中的文字该动之后(例如:改为“gggg”)在edit2中是“gggg”(edit2传到了)但edit3中的文字是“edit1”(edit2的text初始是“edit1”就是这样的,谁能帮我一下?
yfzhu_del 2002-04-03
  • 打赏
  • 举报
回复
同意楼上楼的那位,应该要包含另外两个unit
panyiming 2002-04-03
  • 打赏
  • 举报
回复
问题的关键在于在程序里面写Edit2.Text := 'adasfdhau'时不响应OnChange事件。所以你想要:
procedure TForm1.Edit1Change(Sender);
begin
Form2.Edit2.Text := Form1.Edit1.Text;//不触发Edit2.OnChange事件
end;
procedure TForm2.Edit2Change(Sender);
begin
Form3.Edit3.Text := Form2.Edit2.Text;
end;
来实现你的功能是行不通的!所以只能向楼上所说的:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Form2.Edit2.Text := Edit1.Text;
Form3.Edit3.Text := Form2.Edit2.Text;
end;

make11111 2002-04-03
  • 打赏
  • 举报
回复
同意上面的!
chinajavis 2002-04-03
  • 打赏
  • 举报
回复
在Unit1中:
uses
unit2, Unit3;
//Edit1的OnChange事件
procedure TForm1.Edit1Change(Sender: TObject);
begin
Form2.Edit2.Text := Edit1.Text;
Form3.Edit3.Text := Form2.Edit2.Text;
end;
Afei1 2002-04-03
  • 打赏
  • 举报
回复
form2.edit2.text:=edit1.text;
form3.edit3.text:=form2.edit2.text;
系统如有什么提示,你就直接回答yes
什么都搞定了
leiqinggang 2002-04-03
  • 打赏
  • 举报
回复
在form1的onexit事件上或是onchange事件上来进行传递就行了
procedure TForm1.Edit1Exit(Sender: TObject);
begin
form2.edit2.text:=edit1.text;
form3.edit3.text:=form2.edit2.text;
end;
fuction 2002-04-03
  • 打赏
  • 举报
回复
你让edit3.text:=edit2.text,edit2的初始值是“edit1”所以edit3的值当然是“edit1”了,你可以让
edit2.text:=edit1.text,
edit3.text:=edit1.text.
chinajavis 2002-04-02
  • 打赏
  • 举报
回复
在unit1中use unit2
在unit2中use unit3
Form1.Edit1的OnChange事件:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Form2.Edit2.Text := Edit1.Text;
end;
Form2.Edit2的OnChange事件:
procedure TForm2.Edit2Change(Sender: TObject);
begin
Form3.Edit3.Text := Edit2.Text;
end;
lxycsdn 2002-04-02
  • 打赏
  • 举报
回复
这样,你可以利用消息处理,来完成三个Edit控件的内容传送。
将Form2作为主窗体,然后,在Form2上,加上一个消息处理过程,专门用于接收从Form1上的Edit1发来的消息,进行处理Form3上的Edit3的显示。
如:
在Form2上:
const my_edit3=wm_user+100;
{.........}
procedure myedit3msg(var message:Tmessage);message my_edit3;
{.........}
uses unit3,unit1;
{.........}
procedure Tform2.myedit3msg(var message:Tmessage);
begin
Form3.Edit3.text:=edit2.text;
end;

在Form1上的Edit1.OnExit(Sender:TObject)事件中以送消息,
如:
SendMessage(Form2.Handle,my_edit3,0,0);
这样会实现你所需的功能!!
有空再联系!
MFC2001 2002-04-02
  • 打赏
  • 举报
回复
在unit2中
uses unit1
edit2.text:=form1.edit1.text;
在unit3中
uses unit2
edit3.text:=form2.edit2.text;
或者用个全局变量保存数据
CeleronII 2002-04-02
  • 打赏
  • 举报
回复
很简单啊,定义一个全局变量什么都搞定了啊
iBear 2002-04-02
  • 打赏
  • 举报
回复
你这个到不了是什么意思?
aningstar 2002-04-02
  • 打赏
  • 举报
回复
这个很简单的
你把代码写出来看看
用全局变量也可以

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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