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

关于PageControl的有关问题

2012-09-20 
关于PageControl的问题各位前辈:小弟在使用PageControl时碰到个问题,试了很久也不知道怎么回事,请帮忙看看

关于PageControl的问题
各位前辈:
  小弟在使用PageControl时碰到个问题,试了很久也不知道怎么回事,请帮忙看看,先谢过了,下面是代码:
procedure TMainForm.N16Click(Sender: TObject);
var
  i:Integer;
  TabSheet:TRzTabSheet;
begin
  for i:=0 to RzPageControl1.PageCount-1 do
  begin
  if RzPageControl1.Pages[i].Caption = '设备清单' then
  begin
  RzPageControl1.ActivePageIndex:=i;
  end
  else
  begin
  TabSheet:=TRzTabSheet.Create(Self);
  TabSheet.PageControl:=RzPageControl1;
  TabSheet.Caption:='设备清单';

  DeviceForm:=TDeviceForm.Create(Application);
  DeviceForm.ParentWindow:=TabSheet.Handle;
  DeviceForm.BorderStyle:=bsNone;
  DeviceForm.Align:=alClient;
  RzPageControl1.ActivePage:=TabSheet;
   
  end;
  end;
 end;

上面这段代码发生的问题是:每次点都会新建一个TabSheet和窗体,本来目的是对已经打开的就不要新建了,直接显示就可以,但是上面的代码却不能实施,摸索了很久也不知道为什么,请各位大大指点下吧


[解决办法]
if条件满足时,for循环未退出break;
[解决办法]
信件已阅,
但是我只能将我自己处理的方法分享给你的

我的方法是先测试RzPageControl1中的TabSheet是否打开相关
的窗体(我是将窗体嵌入这个TabSheet中的),
如果打开,提示必须先关闭TabSheet中的窗体(声明窗体中有一个退出功能
并释放出TabSheet,以方便以后再次加载窗体的)

如果没有嵌入窗体的话,就直接加载相关窗体
如下图所示:

[解决办法]

探讨

Delphi(Pascal) code
[Quote=引用:]

if条件满足时,for循环未退出break;

热点排行