如何實現在一個窗體按下button後,修改另一個窗體上的edit的text。(20分)

  • 主题发起人 主题发起人 leway
  • 开始时间 开始时间
L

leway

Unregistered / Unconfirmed
GUEST, unregistred user!
程序運行,有兩個窗體,我想在一個窗體按下button後修改另一個窗體上的edit的text。
但我沒有實現,請問為什麼。怎樣才能實現,請舉例說明。謝謝!
 
Form2.Edit.text:='xxx';
 
首先在这个form中uses别一个FORM相对应的单元,如果前面加入

uses unit2;
然后再按钮事件中直接使用 form2.edit1.text:=
 
我試過,這樣不可以實現。
 
首先必须那个窗体已经创建,然后有Uses ,然后同abc
 
这样可以的
 
那个窗体已经创建了。
我單步跟蹤發現當我按下Button時,另一窗體的Edit的Text已經改變了,但窗體的顯示還沒有刷新。
 
我以前碰过。 一定要记得在这个FORM里USE另一个FORM对应的单元
 
我在FORM里已經USE另一个FORM对应的单元,但就是不行。
 
uses UnitForm2{Form2的单元}
procedure TForm1.Botton1Click(sender :TObject);
begin
UnitForm2.Form2.Edit1.text:='';
UnitForm2.Form2.Edit1.refresh;
UnitForm2.Form2.Showmodal;
end;


 
to:BmwHans1
我按你的方法後,我按一下BUTTON,Form2就被從新創建,這樣就出現了多個Form2。
 
哦?这样?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;
end.

unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.DFM}
procedure TForm2.FormCreate(Sender: TObject);
begin
self.FormStyle :=fsStayOnTop;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Edit1.text:= edit1.Text;
end;
end.
 
use进去,就可以象上面说的用了,我用过,是不是有别的地方有问题,影响了,你单步
执行看一下。
 
你有没有在FORM的 showmodal中写代码呀。
 
多人接受答案了。
 
后退
顶部