using System; using UIKit; using CoreGraphics; namespace Shared { /// /// 对话框 /// public class Alert { /// /// 当前对话框 /// UIAlertView myUIAlertView; /// /// 代理 /// MyUIAlertViewDelegate myUIAlertViewDelegate = new MyUIAlertViewDelegate(); /// /// 对话窗 /// /// 标题 /// 信息 /// 取消按键备注,值null表示不显示取消按键 /// 确认按键备注 public Alert(string title,string message,string cancelButtonText,string okButtonText) { myUIAlertView = new UIAlertView (); myUIAlertView.Title = title; myUIAlertView.Message = message; myUIAlertView.Delegate = myUIAlertViewDelegate; if (cancelButtonText != null) { myUIAlertView.AddButton (cancelButtonText); myUIAlertViewDelegate.Flag = true; } myUIAlertView.AddButton (okButtonText); myUIAlertViewDelegate.ResultEventHandler+= (sender, e) => { if (ResultEventHandler != null) { ResultEventHandler (sender, e); } }; } /// /// 对话窗 /// /// 标题 /// 信息 /// 确认按键备注 public Alert(string title,string message,string okButtonText):this(title,message,null,okButtonText) { } /// /// 结果通知事件,true表示选中按键,false表示取消事件 /// public event EventHandler ResultEventHandler; /// /// 显示当前的界面 /// public void Show() { myUIAlertView.Show (); } /// /// 对话框事件处理代理 /// class MyUIAlertViewDelegate : UIAlertViewDelegate { /// /// 通知结果 /// public event EventHandler ResultEventHandler; /// /// 是否是有取消按键 /// public bool Flag; public override void Clicked(UIAlertView alertview, nint buttonIndex) { if (ResultEventHandler != null) { if (buttonIndex == 0) { if (Flag) { //取消按键 ResultEventHandler(alertview, false); } else { //按了确定 ResultEventHandler(alertview, true); } } else if (buttonIndex == 1) { //按了确定 ResultEventHandler(alertview, true); } } } } } }