这是*.dpr:
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.
Run Code Online (Sandbox Code Playgroud)
登录表格 :
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.
Run Code Online (Sandbox Code Playgroud)
主要表格:
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.
Run Code Online (Sandbox Code Playgroud)
两个按钮都设置为模态:mrOK.登录表单不是自动创建的,而是在可用表单列表中.
问题是:如果您关闭登录表单(不单击按钮)一瞬间主表单显示然后关闭(当然,应用程序也关闭).它发生得非常快.看起来像一个闪烁.
当我关闭登录表单时,如何宣布我的主表单尝试显示自己?
另外,设置:
Application.MainFormOnTaskbar := False;
Run Code Online (Sandbox Code Playgroud)
无济于事......
您不应在显示登录之前隐藏主窗体,而应使用初始化应用程序以隐藏主窗体开始.要做到这一点,只需Application.ShowMainForm := false在创建主窗体之前添加.
Application.Run关闭登录表单后执行的操作将根据Application.ShowMainForm默认为true 的变量值显示或不显示主表单.因此,这将引入闪烁,因为主要表单将在应用程序终止之前显示.
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);
Login;
Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
571 次 |
| 最近记录: |