Delphi:在OnFormShow事件中是否有可能告诉表单即使在毫秒内也不显示?

LaB*_*cca 0 delphi tform

在OnFormShow事件中,我需要(对于一组特定的条件)不显示表单.

像"如果计数器> 15不显示表格"之类的东西.

我当然可以在表单创建上重构和移动很多东西,但这是很多工作,因为这是一种常见的形式,并且涉及太多的变化.

现在我在OnFormShow的末尾关闭表单,但无论如何我看到表单出现了几毫秒.

不幸的是,告诉我不要显示表单的条件是在OnFormShow中决定的.是否有诀窍避免表格显示?

Dav*_*nan 9

重构您的代码,以便在您准备好之前它根本不显示.如果你还没有这样做,可以不要调用Show,或者将Visible设置为False.

当你到达OnShow时,我怀疑它已经太晚了,但即便这样做,也表明设计不佳.将代码从OnShow转移到另一种方法中真的不应该是非常麻烦的.


Mik*_*keD 6

重构+1,但同时,试试这个:

AlphaBlend:= true;

AlphaBlendValue:= 0;

这应该使表单不可见,似乎在我的OnShow测试应用程序(D2010/XP)中工作.我猜你需要添加代码才能使表单关闭,可能是一个计时器?

  • 可能实际上"工作",但我不可能赞成这个伎俩!抱歉! (3认同)