A: 
if (lbHideQuery.selected)
            {
                lbHideQuery.label = "Show Query Panel";
                origHeight = canvas1.height;
                canvas1.height = 0;
                canvas1.visible= false;

            }
            else
            {
                lbHideQuery.label = "Hide Query Panel";
                canvas1.height = origHeight;
                canvas1.visible= true;
            }
Eugene
Thank you so much for responding. Your solution works but why do I've to set the visibility of the child container to false in Flex 4?
if this helps, you may to accept answer, an about why: - because the mx or spark logic, in layouts mean that visible components with zero sizes have the same rules as others, and all events are handling in this zero component, but if invisible, its not drawing at all, thats way, you getting different logic, using visibility way.
Eugene