1

首先,请下载此文件(下载)。

如何将 Form2 设置为“发送回”以向用户显示 Image1?我使用 Image1.BringToFront;但这段代码不起作用!!

这是主要单位:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

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

var
  Form1: TForm1;

implementation
      uses unit2;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   tFrm2:Tform2;
begin
     tFrm2:=Tform2.Create(self);
     tFrm2.Parent:=self;
     tFrm2.Align:=alClient;
     tFrm2.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//     Image1.BringToFront;

end;

end.
4

1 回答 1

2

您这样做的方式是,许多 Form2 实例可以堆叠在图像上,因此您可以搜索所有子表单(我的意思是,所有父表单为 Form1 的表单)并隐藏每个。最终结果是再次显示图像。

procedure TForm1.Button2Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to Screen.FormCount - 1 do
    if (Screen.Forms[I].Parent = Self) then
      Screen.Forms[I].Hide;
end;

此致。

于 2010-10-26T23:40:43.813 回答