/// <summary> /// 立即更新 被点击 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void linkNow_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { CancelHide(); linkNow.Visible = linkIgnore.Visible = linkNext.Visible = false; lbMsg.Text = string.Format(resources.GetString("downloading") + "({0})...", updateInfo.Version); lbPercentage.Text = "0K / 0K 0%"; if (!lbPercentage.Visible) { lbPercentage.Show(); lbProgress.Show(); } Application.DoEvents(); new Thread(() => { OnlineUpdate.Update(updateInfo, result => { if (!result.Success) { this.InvokeMethod(() => { lbMsg.Text = resources.GetString("downloadFailed"); }); return; } this.InvokeMethod(() => { lbPercentage.Text = string.Format(@"{0}K / {1}K {2}%", Math.Ceiling(result.BytesReceived / 1024.0), Math.Ceiling(result.TotalBytesToReceive / 1024.0), result.Percentage); lbProgress.Width = lbPercentage.Width * result.Percentage / 100; if (result.TotalBytesToReceive != result.BytesReceived) { return; } lbMsg.Text = resources.GetString("downloadComplete"); }); }); }) { IsBackground = true }.Start(); }
private void linkNow_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { CancelHide(); linkNow.Visible = linkIgnore.Visible = linkNext.Visible = false; lbMsg.Text = string.Format(@"正在下载更新包({0})...", update.Version); new Thread(() => { OnlineUpdate.Update(update.Link, update.Version, result => { if (!result.Success) { this.InvokeMethod(() => { lbMsg.Text = @"更新包下载失败"; }); return; } this.InvokeMethod(() => { if (!lbPercentage.Visible) { lbPercentage.Show(); lbProgress.Show(); } lbPercentage.Text = string.Format(@"{0}K / {1}K {2}%", Math.Ceiling(result.BytesReceived / 1024.0), Math.Ceiling(result.TotalBytesToReceive / 1024.0), result.Percentage); lbProgress.Width = lbPercentage.Width * result.Percentage / 100; if (result.TotalBytesToReceive == result.BytesReceived) { lbMsg.Text = @"更新包下载完成,即将更新..."; } }); DelayHide(); }); }) { IsBackground = true }.Start(); }