這是* .dpr:MainForm中試圖展示在關閉登錄表單
program Project1;
uses
Vcl.Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
var
MainForm: TForm1;
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Login;
Application.Run;
end.
登錄形式:
unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
procedure Login;
implementation
{$R *.dfm}
Uses Unit1;
procedure Login;
begin
with TForm2.Create(nil) do
try
Application.MainForm.Hide;
if ShowModal = mrOK then
Application.MainForm.Show
else
Application.Terminate;
finally
Free;
end;
end;
end.
主要形式:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Uses Unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
Login;
end;
end.
兩個按鈕被設置莫代爾:mrOK。 登錄表單不是自動創建的,而是可用表單的列表中。
問題是這樣的: 如果關閉登錄表單(不單擊按鈕)一秒鐘,主表單顯示並關閉(當然,應用程序也關閉)。它發生得非常快。看起來像閃爍。
如何在我關閉登錄表單時爲我的主窗體嘗試顯示自己的這一嘗試進行註冊?
此外,設置:
Application.MainFormOnTaskbar := False;
不利於要麼...
登錄過程由主窗體使用,以便用戶可以登錄和註銷。他們無法直接訪問主窗體。這就是把它藏在第一位的原因。 ps建議的方式並不能消除主要表格。 – user3351050
然後離開Application.MainForm.Hide在登錄過程中,只需跳過從啓動顯示主窗體。 –
@ Dalija Prasnikar我不太瞭解你......主窗體在啓動時不顯示。由於登錄過程隱藏它,因此它已創建但未顯示。 – user3351050