コード例 #1
0
ファイル: UpdateForm.cs プロジェクト: hjhong/ColorWanted
        /// <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();
        }
コード例 #2
0
        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();
        }