using System; using System.Collections.Generic; using System.ComponentModel; using System.Text; using System.Windows.Forms; namespace LiveUpdate { /// /// /// public class RyUpdate { /// /// /// public ClsLiveUpdate myLiveUpdate = new ClsLiveUpdate(null); /// /// /// public static Dictionary dict_downlist = new Dictionary(); /// /// /// /// public RyUpdate(string url) { myLiveUpdate.OnUpdateComplete += OnUpdateComplete; myLiveUpdate.OnNoUpdate += MyLiveUpdate_OnNoUpdate; myLiveUpdate.UpdateUrl = url; } /// /// /// /// /// public RyUpdate(Form _ParentForm, string url) { ParentForm = _ParentForm; myLiveUpdate.OnUpdateComplete += OnUpdateComplete; myLiveUpdate.OnNoUpdate += MyLiveUpdate_OnNoUpdate; myLiveUpdate.UpdateUrl = url; } /// /// /// ~RyUpdate() { myLiveUpdate.OnUpdateComplete -= OnUpdateComplete; myLiveUpdate.OnNoUpdate -= MyLiveUpdate_OnNoUpdate; } /// /// 当前登陆用户 /// public string CurUserId { get { return myLiveUpdate.CurUserId; } set { myLiveUpdate.CurUserId = value; } } /// /// /// public Form ParentForm { get { return myLiveUpdate.ParentForm; } set { myLiveUpdate.ParentForm = value; } } /// /// 没有版本更新时激发 /// [Description("没有版本更新时激发")] public event EventHandler OnNoUpdate; private void MyLiveUpdate_OnNoUpdate(object sender, EventArgs e) { OnNoUpdate?.Invoke(this, new EventArgs()); } /// /// /// /// public bool CheckUpdate() { //LiveUpdate.clsUpdateInfo.myLiveUpdate.SettingPath = Application.StartupPath + @"\cUpdate.dat"; myLiveUpdate.StartLiveUpdate(); return true; } /// /// 取消更新。 /// public event EventHandler OnUpdateCancel; private void OnUpdateComplete(LiveUpdate.UpdateInfo e) { try { for (int i = 0; i < Application.OpenForms.Count; i++) { if (Application.OpenForms[i] is LiveUpdate.FrmUpdate || Application.OpenForms[i] is LiveUpdate.frmStartUpdate) { return; } } } catch { } LiveUpdate.FrmUpdate frm = new LiveUpdate.FrmUpdate(myLiveUpdate); frm.OnAppExit += Frm_OnAppExit; frm.SetUpdateInfo(e); if(frm.ShowDialog()==DialogResult.Cancel) { OnUpdateCancel?.Invoke(this,new EventArgs()); } } /// /// /// public event LiveUpdate.OnAppExit OnAppExit; private void Frm_OnAppExit(object sender, EventArgs e) { OnAppExit?.Invoke(sender, e); } } }