Flash 在as3中仅选择一个复选框

Flash 在as3中仅选择一个复选框,flash,actionscript-3,Flash,Actionscript 3,我有大约18个复选框,我想 知道有没有办法让我只做其中一个 选择。即,我无法选择两个框,将发生错误。 我知道我可以用RadioBox,但对于estetic,我更喜欢复选框。 你能给我一些代码吗请试试这样的 <fx:Script> <![CDATA[ [Bindable] private var selectedCheckBox:String = ""; ]]> </fx:Script> <s:CheckBo

我有大约18个复选框,我想 知道有没有办法让我只做其中一个 选择。即,我无法选择两个框,将发生错误。 我知道我可以用RadioBox,但对于estetic,我更喜欢复选框。
你能给我一些代码吗请试试这样的

<fx:Script>
    <![CDATA[
        [Bindable]
        private var selectedCheckBox:String = "";
    ]]>
</fx:Script>
<s:CheckBox id="checkBox1" label="CheckBox" click="selectedCheckBox = checkBox1.id"
            selected="{selectedCheckBox == checkBox1.id}"/>
<s:CheckBox id="checkBox2" label="CheckBox" click="selectedCheckBox = checkBox2.id"
            selected="{selectedCheckBox == checkBox2.id}"/>
<s:CheckBox id="checkBox3" label="CheckBox" click="selectedCheckBox = checkBox3.id"
            selected="{selectedCheckBox == checkBox3.id}"/>

我认为最好使用单选按钮,它是作为复选框,以匹配您正在寻找的美学

private var selectedCB : CheckBox;

for( var i : int = 0, n : int = 18; i < n ; i++ ){
    var cb : CheckBox = new CheckBox();
    cb.addEventListener( Event.CHANGE, onChangeEvent_checkBox );
    //position cb etc.
    this.addChild( cb );
}

private function onChangeEvent_checkBox( event : Event ) :void{
    var currentCB : CheckBox = CheckBox( event.target );
    if( selectedCB && currentCB !== selectedCB )
        selectedCB.deselect();
    selectedCB = ( currentCB.selected ) ? currentCB : null;

}

但是,我认为这是个坏主意。用户知道单选按钮和复选框应该如何工作,在我看来,从UX POV开始混合使用它们是一个非常糟糕的主意。诚然,这并不完全是单选按钮的行为方式,但距离很近,足以令人困惑。

将单选按钮作为复选框蒙皮。这样更容易