第一个问题,
我在窗体中放了一个DateTimePicker组件,但是每次打开页面的时候它显示的都是我第一次加入这个组件的日期为2007-04-23,,,我想让它运行时显示的都是当天的日期,然后我就在FormShow中加入了DateTimePicker1.Date:=Date;这条语句,当然是我自己乱写的,运行后依然显示的是2007-04-23,没变,我找书了,没找到解决的办法,所以请大家帮忙改一下,
第二个问题,
项目中的A,B二个窗体,按下A窗体中的按钮能弹出B窗体,按下B窗体中的按钮也能弹出A窗体,,现在的问题是,我在A窗体弹出B窗体后,再按B窗体的按钮,又弹出一个A窗体,页面上就有两个一样的A窗体了,我想在B窗体按按钮时,如果现在页面上已经有A窗体的时候,就不再弹出一个一样的了,而是将直接使已存在的窗体提到最前面来,这个又怎么实现呢,
我在窗体中放了一个DateTimePicker组件,但是每次打开页面的时候它显示的都是我第一次加入这个组件的日期为2007-04-23,,,我想让它运行时显示的都是当天的日期,然后我就在FormShow中加入了DateTimePicker1.Date:=Date;这条语句,当然是我自己乱写的,运行后依然显示的是2007-04-23,没变,我找书了,没找到解决的办法,所以请大家帮忙改一下,
第二个问题,
项目中的A,B二个窗体,按下A窗体中的按钮能弹出B窗体,按下B窗体中的按钮也能弹出A窗体,,现在的问题是,我在A窗体弹出B窗体后,再按B窗体的按钮,又弹出一个A窗体,页面上就有两个一样的A窗体了,我想在B窗体按按钮时,如果现在页面上已经有A窗体的时候,就不再弹出一个一样的了,而是将直接使已存在的窗体提到最前面来,这个又怎么实现呢,
2、我没发现这个问题,除非你又生成了新的窗口实例。
begin
CustAnaDM.DigitCustAnalyAQ.Open;
DateTimePicker1.DateTime:=Now;
end;
我改成这样了,可显示的还不是当天的日期啊,
还有,我是在这两个按钮里都用了
Application.CreateForm(T*****,*****);
*****.ShowModal;
*****.Free;*****是要弹出窗体的名字,是不是问题出在这儿了啊,那应该怎么改呢?
begin
CustAnaDM.DigitCustAnalyAQ.Open;
DateTimePicker1.DateTime:=Now;
end;是不是你的系统日期有问题啊!两个窗体要互换的话就不要用ShowModal;了,用Show
if Not Assigned(Form2) then Form2 := TForm2.Create(niL);
Form2.Show
begin
CustAnaDM.DigitCustAnalyAQ.Open;
DateTimePicker1.DateTime:=Now;
end;是不是你的系统日期有问题啊!不能啊
2、....,这个问题不知道怎么和你说好,你这种写法很“诡异”,这样写每次都回生成新的窗口实例的,如果你一直点下去,会出现无数个form1和form2,直到耗尽所有系统资源。楼上的说得对,可以用show而不要用showmodal(这是模态显示,需要强制响应),但if Not Assigned(Form2) then Form2 := TForm2.Create(niL)这样无法判断form2是否已经实例化,因为声明它的时候已经分配了vmt。
2,是不是把每个showmodal都换成show呢?
然后就写一句
DateTImePicker1.DateTime := Now;看有没有问题?
*****.ShowModal;
*****.Free;你又建了一个窗口,当然就有两个一样的了,可以判断一下再建立啊
比如:
if findwindow('TForm1','Form1')=0 then//看窗口在不在
begin
Application.CreateForm(TForm1,Form1);
Form1.ShowModal;
Form1.Free;
end;
我就不信这样还会出两个相同的来
if findwindow('TCustAnaForm2','CustAnaForm2')=0 then
begin
Application.CreateForm(TCustAnaForm2,CustAnaForm2);
CustAnaForm2.ShowModal;
CustAnaForm2.Free;
end;我改成这样了,结果
if findwindow('TCustAnaForm2','CustAnaForm2')=0 then这行就变红了,出错了,
应该怎么改呢,请指教啊,,,