Причина, по которой вы не можете скрыть панель управления, заключается в том, что вы устанавливаете только видимое свойство - оно все еще занимает свое место.Итак, чтобы действительно «спрятать» его, сделайте следующее:
myControlBar.includeInLayout = false;
Кроме того, чтобы скрыть всех своих детей, требуется только простой цикл:
for each (var oChild:DisplayObject in idPanel.getChildren()) {
oChild.visible = false;
}
Итак, все приложение будет выглядеть так:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function doit(): void {
idControl.visible = false;
idControl.includeInLayout = false;
for each (var oChild:DisplayObject in idPanel.getChildren()) {
oChild.visible = false;
}
}
]]>
</mx:Script>
<mx:Button x="10" y="10" label="Button" click="doit()"/>
<mx:Panel x="83" y="10" width="250" height="200" layout="absolute" id="idPanel">
<mx:CheckBox x="10" y="10" label="Checkbox"/>
<mx:DateField x="10" y="40"/>
<mx:ControlBar id="idControl">
</mx:ControlBar>
</mx:Panel>
</mx:Application>
Надеюсь, это поможет!