多个form 之间怎样可以建立连接(20分)

  • 主题发起人 主题发起人 zhuifeng
  • 开始时间 开始时间
Z

zhuifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
写一个程序,需要有三个 form,运行时显示主form,主form上有两个radiobutton,选择一个radiobutton
然后点一下主form 上的 button按纽后,屏幕上就会显示一个相应的子form, 这时主form就不
显示了,当点一下自form上的button按纽后,屏幕上又会显示主form,这时子form就不显示 了,
我不知道怎样才能实现这个功能!
请各位高手指教指教!
 
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
form2.show;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
form3.show;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
close;
end;
 
你可以在主Form调用以下程序来打开子Form!
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:=TForm2.create (application);
Form2.showmodal;
Form2.release;
Form1.Hide;
end;
Form1为主Form,Form2为子Form
procedure TForm2.Button1Click(Sender.TObject);
begin
Form2.Close;
Form1.Show;
end;
这为点击Form2的Button后Form2关闭,Form1显示!
 
不过别忘了在Project 的Options的选项中设置下!
 
其实简单,只要把相应的form隐藏和显示即可
假设 form1 为主form; form2 和 form3 为另外两个form;
type
TForm1 = class(TForm)
Button1: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.Checked then
begin
hide;
form2.Show;
end;
if radiobutton2.Checked then
begin
hide;
form3.show;
end;
end;

end.
type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

uses Unit1;

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);
begin
hide;
form1.Show;
end;

end.

 
用form.show 和form.hide;就可以实现子[:D][:D][:D][:D][:D][:D][:D]
 
我在 点 子form 上的 'x'这个按纽的时候,子form连同主form都关闭了, 应该怎样做才能
只关闭子form,并显示主form,而不是两个form 都关闭?
 
多人接受答案了。
 
后退
顶部