我的问题就是创建子窗口(不是MDI的)时,怎么才能不让它出现问题?一个主窗口:Form1;
一个子窗口:Form2;主窗口有一个Button1,按下它就执行:
var
Form2:TForm2;
begin
Form2:=TForm2.Create(Self);
Form2.StartTime:=Time;//设置一个开始时间,当然StartTime早就定义好的,问题不在这里。
Form2.Show;
end; Fom2窗口有一个Timer1,它的事件处理如下:form2.Caption:=TimeToStr(Time-StartTime);
//以上就要以得到本窗口的运行时间了问题是,当我多按几次主窗口的Button1来创建多个Form2时,那几个Form2.Caption就会在1秒钟后全部变成一样的,这是怎么回事呢请各位帮帮我啊!!!
一个子窗口:Form2;主窗口有一个Button1,按下它就执行:
var
Form2:TForm2;
begin
Form2:=TForm2.Create(Self);
Form2.StartTime:=Time;//设置一个开始时间,当然StartTime早就定义好的,问题不在这里。
Form2.Show;
end; Fom2窗口有一个Timer1,它的事件处理如下:form2.Caption:=TimeToStr(Time-StartTime);
//以上就要以得到本窗口的运行时间了问题是,当我多按几次主窗口的Button1来创建多个Form2时,那几个Form2.Caption就会在1秒钟后全部变成一样的,这是怎么回事呢请各位帮帮我啊!!!
解决方案 »
- Delphi中String如何引用传值
- Oracle dual 无重复取值问题。
- 在网页里怎么去调用ActiveForm里定义的方法?
- 怎样制作类似Delphi IDE 中主窗体的窗体(UP有分)
- CoCreateGUID如何在delphi中使用?
- 十万火急!在线等
- 急用!求 对实数进行有精确位(如0.01)的“四舍五入”的函数!
- 我想定时将memo1中的内容写到一个文本中,并是递加的,不能将原记录清空?
- richedit一行无限输入字符问题
- 请帮我修改一下源代码(delphi)请帮忙改一下,让它打印了不往里(数据库)存。
- 局域网中DELPHI通过myoledb如何联接其他机器中的mysql?在线等待!!
- 关于word的奇怪问题
frm:array [0..n] of Tform2;
begin
frm[i]:=TForm2.Create(Self);
frm[i].StartTime:=Time;
frm[i].Show;
inc(i);
end;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;type
TForm2 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
StartTime :TDateTime;
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.DFM}procedure TForm2.Timer1Timer(Sender: TObject);
begin
label1.Caption:=TimeToStr(now-StartTime);
end;procedure TForm2.FormShow(Sender: TObject);
begin
if Timer1.Enabled=False then Timer1.Enabled :=True;
StartTime :=Now;
end;end.
我没有发现你所说的结果,每个子窗口都有自己的运行时间
Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Form2:TForm2;
begin
Form2:=TForm2.Create(Self);
Form2.starttime:=Time;
Form2.Show;
end;
end.
unit Unit2:::::::::::::::
type
TForm2 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
public
starttime:TDateTime;
end;
var
Form2: TForm2;
implementation
{$R *.DFM}
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Caption:=TimeToStr(Time-StartTime);
end;
end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
i:integer;
implementation
uses unit2;
{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
frm:array [0..5] of Tform2;
begin
frm[i]:=TForm2.Create(Application);
frm[i].Show;
inc(i);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;end;end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;type
TForm2 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
starttime:Tdatetime;/////////////////////////定义私有变量
public
{ Public declarations }
end;var
Form2: TForm2;implementation
{$R *.DFM}procedure TForm2.Timer1Timer(Sender: TObject);
begin
Caption:=TimeToStr(time-StartTime);
end;procedure TForm2.FormCreate(Sender: TObject);
begin
starttime:=time;
end;end.
frm:Tform2;
begin
application.createform(Tform2,frm);
frm.StartTime:=Time;
frm.Show;end;
全部有分!!