这更像是一个理论问题:我很好奇为什么 Show
方法也不会恢复表单(如 wsNormal
)。
我知道Show没有设置WindowState
:
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;
但为什么?我的意思是,当我调用 Show 时,我希望表单实际显示在屏幕上。显然,这不会总是发生。更准确地说,当窗口最小化时不会发生这种情况。
那么,Show 背后的逻辑是什么?为什么他们遗漏了 WindowsState?
最佳答案
可见性和窗口状态只是独立的属性。您可能希望更改其中一个而不更改另一个是完全合理的。
VCL 设计者所做的设计选择是以相当直接的方式将底层 Win32 库映射到 VCL。这意味着 VCL 设计人员可以灵活地做出自己的选择。例如,VCL 是否按照您建议的方式设计,如果不更改窗口状态,那么更改可见性会变得更加困难。
关于delphi - 为什么 Show 不恢复表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717385/