Delphi 7 中关于重置窗口的问题(急!!!)

来源:百度知道 编辑:UC知道 时间:2024/09/25 08:26:01
我编写了一个棋盘窗体,但从棋盘窗体退回主窗体后再进入棋盘窗体的时候,有棋子的地方仍然有棋子,就好像没有清除缓存一样,我用的是Form2.Close,是不是Close不能使窗体退出内存?可是用Form2.Free的话回主窗体可以,但是再回棋盘窗体的时候总是出现错误,棋盘窗体打不开,为什么?
或者麻烦各位给个方法也可以,怎么才能使窗体重置,就是回到这个窗体一开始刚创建时候的窗体画面?
大家帮帮忙啊,多谢了。

你不要自动创建窗体。
这样,假如你的棋盘窗体是form2,主窗体是form1,调用form2的按钮是button1,那么,你在主菜单project-options-forms,将auto-createforms里面的form2移到available forms里面。
然后,在form1的button1代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
form2:TForm2;
begin
form2:=TForm2.Create(Self); //创建form2
form2.ShowModal;
end;

这样,就能每次打开form2的时候都是初始化状态的。
form2的关闭代码为close.