我想禁用警报框中的“是”按钮。这可能吗?
提前致谢。
你的意思是禁用还是隐藏?
我不认为您可以启用/禁用警报框中的按钮,但您可以选择将显示哪些按钮,例如:
Alert.show('Text Copied!', 'Alert Box', Alert.YES | Alert.NO);
有效按钮:
mx.controls.Alert.OK
mx.controls.Alert.YES
mx.controls.Alert.NO
mx.controls.Alert.CANCEL
此处的完整文档:警报控制
如果您真的打算启用/禁用按钮,您可以基于TitleWindow
.
尝试这个:
import mx.core.mx_internal;
use namespace mx_internal;
private var theAlert:Alert;
public function showAlert():void
{
theAlert = Alert.show("Saving Changes...", "", Alert.YES + Alert.NO);
theAlert.mx_internal::alertForm.mx_internal::buttons[0].enabled = false;
}
public function hideAlert():void
{
PopUpManager.removePopUp(theAlert);
}
看看这个flex 示例页面上的示例是否对您有帮助。
我会用您自己的自定义类扩展 Alert 类。添加一个位掩码来控制启用或禁用哪些按钮。然后覆盖 createChildren() 并在创建按钮时禁用它们。
我会建议您创建自己的自定义警报,请参阅此处的示例