Delphi 2010表格显示在“错误”的监视器上

时间:2013-05-09 12:12:47

标签: delphi delphi-2010 multiple-monitors

我有一个简单的测试应用程序,一个空表单,另一个包含TButton。按钮脚本如下: -

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show();
end;

Form2在启动时自动创建。根本没有其他代码。

当我运行应用程序时,我可以按下按钮并显示Form2。我可以在主监视器上重新定位/调整Form2,然后关闭它。如果我再次按下Form1按钮,Form2会正确地重新出现在最后一个位置。到目前为止一切都很好......

但是,如果我将Form2置于辅助显示器上,请将其关闭,然后按下按钮,然后Form2会显示在主显示器上!

我希望表单重新出现在它最后的显示器上 - 我怎么能得到这种行为?

1 个答案:

答案 0 :(得分:10)

这是因为表单的DefaultMonitor属性的默认值为dmActiveForm

将Form2的DefaultMonitor设置为dmDesktop,问题就解决了。