读书人

窗口停靠有关问题

发布时间: 2012-07-03 13:37:42 作者: rapoo

窗口停靠问题
就是窗体左边用TREEVIEW组件,右边放个Panel组件,在Treeview上单击一个分支,让Panel上显对应窗体,但点另一个窗体时,当前在Panel上的窗体得关闭,以便下一个窗体打开,请问怎么解决,因为单击另一个窗体时,事先不也确定具体是那个窗体在打开状态,所以不能加from.close

[解决办法]

Delphi(Pascal) code
uses unit2;procedure CloseForm(pnl:TPanel);var  i:Integer;begin  for i:=0 to pnl.ControlCount-1 do     if pnl.Controls[i] is TForm then        TForm(pnl.Controls[i]).Close;end;procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);var  tn:TTreeNode;begin  tn:=TreeView1.GetNodeAt(x,y);  if tn<>nil then  begin    CloseForm(panel1);    if tn.Text='窗体1' then    begin       form2:=Tform2.create(self);       form2.parent:=panel1;       form2.Left:=0;       form2.Top:=0;       form2.Show;    end    { else ...    }  end;end; 

读书人网 >.NET

热点推荐