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