使用IntraWeb 14.1和Delphi Berlin,
我正在IWRegion
内创建一个框架并为其添加一个框架,如下所示:
Page := TFrame.Create(Self);
Page.Parent := UserSession.Body_Region;
其中UserSession.Body_Region;
在Body_Region: TIWRegion;
中被解除为UserSessionUnit
,以便在运行时将该区域从表单传递到表单,并且一切正常。
问题是我想隐藏UserSession.Body_Region
在运行时UserSession.Main_Body_Region.Component[0];
内加载的框架,但是我无法做到。
我用
品尝了它(UserSession.Main_Body_Region.Component[0] as TFrame).hide;
或
(UserSession.Main_Body_Region.Component[0] as TFrame).Visible:= false;
但它没有用!也没有错误!
有没有其他方法可以这样做,还是我错过了什么?
答案 0 :(得分:6)
虽然documentation表示
TIWRegion
控件是来自VCL的TPanel的IntraWeb等价物。
它有一个重要的区别:
property RenderInvisibleControls: Boolean;
继承自TIWBaseContainer
文档将其描述为
使用此属性通知任何具有Visible = False的控件 当它渲染的容器也将随之渲染 可见的控件。当您需要更改时,这非常有用 使用Async事件控制的可见性。
IOW,将此属性设置为False
将停止呈现Visible = False
的子组件。