Что-то тема разрослась и стала путаться. Давай сделаем "по классике", а ты себе уже изменишь что хочешь ...
В компоненте определяешь событие:
Код AS3:
<fx:Metadata>
[Event(name="myEvent", type="flash.events.Event")]
</fx:Metadata>
Для отсылки используем диспетчер:
Код AS3:
<s:Button label="жми" click="dispatchEvent(new Event('myEvent'))"/>
А в родительском классе/окне/компоненте при определении текущего компонента:
Код AS3:
<xxx:Component ... myEvent="myEventHandler(event)">
и обработчик:
Код AS3:
private function myEventHandler(event:Event):void {
...
}
Это механизм передачи стандартного события из пакета flash.event. Если надо организовать что-то свое (кастомный эвент), то создаешь класс, расширяющий эвент, с нужными параметрами/механизмом и передаешь его. Но все в принципе схоже.