首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于窗体的有关问题

2012-02-15 
关于窗体的问题如何实现打开一个窗体时进行判断,如果满足条件则显示,不满足则关闭。我这样写不行,请各位高

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

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

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)关闭

热点排行