主文件Main1.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:MyComp="*" layout="vertical">
  <mx:Style>
    Application{fontSize:14px;}
  </mx:Style>
  <MyComp:MyComp1/>
</mx:Application>

注:xmlns:MyComp="*"自定义命名空间其实很类似于包的概念用来管理组件的。实际当中最好把自己的组件文件分文件夹管理。

组件定义MyComp1.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
  <mx:Script>
    <![CDATA[
      import mx.controls.ComboBox;
      import mx.controls.Alert;
      import mx.events.DropdownEvent;
      private function closeHandler(event:DropdownEvent):void
      {
        //Alert.show((event.currentTarget as ComboBox).selectedLabel);
        Alert.show((event.currentTarget as ComboBox).selectedItem.toString());
      }
    ]]>
  </mx:Script>
  <mx:Label text="城市:" />
        <mx:ComboBox close="closeHandler(event);">
                <mx:dataProvider>        
                        <mx:String>济南</mx:String>
                        <mx:String>威海</mx:String>
                        <mx:String>烟台</mx:String>
                </mx:dataProvider>
        </mx:ComboBox>  
</mx:HBox>

注:组件的文件名就对应着将来使用时的mxml标签名,根标签就是你用来扩展的父类,这里是HBox。在里面this引用的是你的组件类。
结果:



实际中可能更复杂,自定义组件里面嵌套使用另外的自定义组件情况有可能。