我正在查看两个代码副本,其中一个是myForm.Hide,另一个是myForm.Visible:= False。我不记得为什么我改变了这个,如果一个是bug修复或者是否有任何差异。
答案 0 :(得分:13)
Hide
没有区别。 VCL代码是:
procedure TCustomForm.Hide;
begin
Visible := False;
end;
但是Show
有点不同:
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;
答案 1 :(得分:4)
取决于您的Delphi代码的年龄以及它的回溯程度。 Form.Hide一次(Win95 / 2000)将隐藏表单及其任务栏图标 - 另一个不会。当然,有一些补丁等可以解决Delphi的问题,某些视频卡/调色板会要求你考虑如何隐藏表格。 (男人,我显示我的年龄)。我已经看到了将表单Left设置为一个大的负数的代码,只是为了隐藏屏幕上的表格导致硬件问题(Delphi 1-3真的是硬件敏感的)
此外,在Delphi 3/4周围,在MDI应用程序中使用最小化而不是隐藏存在内存泄漏(因此我们使用PAgecontrol与MDI Forms上的表单对接)。所以,如果您正在查看非常旧的代码,那么这些事情很重要。如果您正在使用Delphi 6或更高版本进行编译,那么实际上没有区别。