移动时如何保持所有表单的位置相同

时间:2015-01-08 19:17:06

标签: forms delphi

您好我有一个包含多个表单的delphi应用程序,我希望这样当用户单击打开/显示新表单时,新表单将打开,其中Form.Left和Form.Top是从以前的表格到新表格。我尝试使用Sender:TObject,但我只有基本的图形delphi和面向对象的知识。这是我每次手动执行此操作以获取使用OnClick事件从主菜单表单打开数据库表单的示例:

MainMenuForm.Hide;
DatabaseForm.Left:=MainMenuForm.Left;
DatabaseForm.Top:=MainMenuForm.Top;
DatabaseForm.Show; 

但是我有多个表单,每个表单都有多个OnClick事件,因此每次都必须使用不同的表单。我知道这可能听起来很混乱,但希望有人知道我在谈论什么,我知道这可能是解决这个问题的简单方法,谢谢。

1 个答案:

答案 0 :(得分:1)

最简单的方法是将其置于接受两种形式的程序中:

procedure ShowHideForm(OldForm, NewForm: TForm);
begin
  OldForm.Hide;
  NewForm.Left := OldForm.Left;
  NewForm.Top := OldForm.Top;
  NewForm.Show;
end;