水平对接表格而不显示表格

时间:2018-04-04 17:21:03

标签: delphi delphi-10.1-berlin

我想要的是水平多次对接表格。但我遇到了一个简单的问题。 任何帮助将不胜感激。

type
  TForm1 = class(TForm)
  Button1: TButton;
  Panel1: TPanel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
  tmpform: TfColorForm;
public
{ Public declarations }
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  lForm: TColorForm;
begin
  lForm := TColorForm.Create(Application);
  tmpform := lForm;
  lform.Show;
  lForm.ManualDock(Panel1, tmpform, alTop);
end;

我的形式是我想多次停靠......

type
TColorForm = class(TForm)
  Button1: TButton;
  procedure FormCreate(Sender: TObject);
  procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
  ColorForm: TColorForm;

  implementation

{$R *.dfm}

procedure TfColorForm.FormClose(Sender: TObject; var Action:   TCloseAction);
begin
  Action := caFree;
end;

procedure TfColorForm.FormCreate(Sender: TObject);
begin
  Color := Random($FFFFFF);
  Caption := IntToHex(Color, 6);
end;

结果没问题,但是如何在我停靠之前没有显示表单的情况下解决它。

enter image description here

1 个答案:

答案 0 :(得分:2)

通过将TColorForm设置为BorderStyle,您可以阻止bsNone在停靠前闪烁。

或者,如果要在创建表单之前隐藏表单,只需隐藏(Visible := False)面板,并在创建完所有表单后显示它。