首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

窗口停靠有关问题

2012-07-03 
窗口停靠问题就是窗体左边用TREEVIEW组件,右边放个Panel组件,在Treeview上单击一个分支,让Panel上显对应窗

窗口停靠问题
就是窗体左边用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; 

热点排行