读书人

关于窗体的有关问题

发布时间: 2012-02-15 12:09:44 作者: rapoo

关于窗体的问题
如何实现打开一个窗体时进行判断,如果满足条件则显示,不满足则关闭。

我这样写不行,请各位高手指正。

procedure Tf_update.RzBitBtn1Click(Sender: TObject);
begin
if 条件 then
……
else
Close;
end;

procedure Tf_update.RzBitBtn2Click(Sender: TObject);
begin
Close;
end;

procedure Tf_update.FormShow(Sender: TObject);
begin
RzBitBtn1Click(Sender);
end;

[解决办法]
在窗体的FormShow事件里调用Close方法是无效的,有两种方法解决:
1. 在窗体打开之前判断。
if 条件满足 then
YourForm.Show //.ShowModal;
else
做其他处理,或什么也不做。

2. 在YourForm中创建计时器,在OnTimer()事件里处理是否需要打开窗体。
[解决办法]
1 写个public函数 CanShowModal

var
frm: TMyForm;
begin
frm := TMyForm.Create;
if frm.CanShowModal then
frm.ShowModal;
end;

2 在FormShow中判断 调用PostMessage(self.Handle,WM_QUIT,0,0)关闭

读书人网 >.NET

热点推荐