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

PageControl的有关问题请问

2012-09-24 
PageControl的问题请教各位前辈:小弟碰到个问题,请教各位大神.代码如下:function TMainForm.OpenForm(FrmC

PageControl的问题请教
各位前辈:
  小弟碰到个问题,请教各位大神.代码如下:


function TMainForm.OpenForm(FrmCaption: string; MyFormCls: TFormClass):Boolean;
var
  i:Integer;
  TabSheet:TRzTabSheet;
  MyForm:TForm;
begin
  for i:=0 to RzPageControl1.PageCount-1 do

  if RzPageControl1.Pages[i].Caption = FrmCaption then
  begin
  RzPageControl1.ActivePageIndex:=i;
  exit;
  end;
  begin
  TabSheet:=TRzTabSheet.Create(Self);
  TabSheet.PageControl:=RzPageControl1;
  TabSheet.Caption:=FrmCaption;

  MyForm:=MyFormCls.Create(Self);
  MyForm.ParentWindow:=TabSheet.Handle;
  MyForm.BorderStyle:=bsNone;
  MyForm.Align:=alClient;
  RzPageControl1.ActivePage:=TabSheet;
   
  end;
end;

//下面是调用
procedure TMainForm.N16Click(Sender: TObject);
begin
  OpenForm(DeviceForm.Caption , TDeviceForm);
end;

上面这个例子是在主窗体有一个PageContol控件,点击打开后会动态创建一个TabSheet,同时将DeviceForm的窗体调入到TabSheet中,释放和关闭窗体的按钮在DeviceForm里面.

现在上面这段的代码所出的问题是:
1.当新建窗体打开后,TabSheet上的标签为空,没有东西显示
2.在退出程序时会报错,图片如下:
3.在DeviceForm关闭窗体时如何同时也释放主窗体的TabSheet 


[解决办法]
MyFormCls是tform还是什么。。
[解决办法]
if RzPageControl1.Pages[i].Caption = FrmCaption then
如果找到这个标题的页,再去建立这个页么?
TabSheet.Caption:=FrmCaption

热点排行