Esempio n. 1
0
 private void Core_MaxValueChange(Helper.DownCore core, double e)
 {
     if (core.Tag != null)
     {
         lock (core.Tag)
         {
             Frm.Downitem item = core.Tag as Frm.Downitem;
             if (item != null)
             {
                 item.prog.MaxValue = e;
             }
         }
     }
 }
Esempio n. 2
0
 private void Core_SpeedChange(Helper.DownCore core, double e)
 {
     if (core.Tag != null)
     {
         lock (core.Tag)
         {
             Frm.Downitem item = core.Tag as Frm.Downitem;
             if (item != null)
             {
                 item.Invoke(new Action(() =>
                 {
                     item.size.Text = core.Value.CountSize() + "/" + core.MaxValue.CountSize() + "   " + e.CountSize() + " /s";
                 }));
             }
         }
     }
 }
Esempio n. 3
0
 private void Core_TimeChange(Helper.DownCore core, string e)
 {
     if (core.Tag != null)
     {
         lock (core.Tag)
         {
             Frm.Downitem item = core.Tag as Frm.Downitem;
             if (item != null)
             {
                 item.Invoke(new Action(() =>
                 {
                     item.time.Text = "预计还需 " + e;
                 }));
             }
         }
     }
 }
Esempio n. 4
0
        private void Core_StateChange(Helper.DownCore core, Helper.DownCore.DownState e)
        {
            if (core.Tag != null)
            {
                lock (core.Tag)
                {
                    Frm.Downitem item = core.Tag as Frm.Downitem;

                    if (item != null)
                    {
                        switch (e)
                        {
                        case Helper.DownCore.DownState.Complete:
                            item.Invoke(new Action(() =>
                            {
                                item.state.ForeColor    = Color.FromArgb(80, 227, 194);
                                item.state.Text         = "下载完成";
                                item.time.Text          = null;
                                item.size.Text          = core.MaxValue.CountSize();
                                item.link_retry.Visible = item.link_del.Visible = false;

                                item.link_open.Visible = true;
                            }));
                            break;

                        case Helper.DownCore.DownState.Downloading:
                            item.Invoke(new Action(() =>
                            {
                                item.state.ForeColor = Color.Black;
                                item.state.Text      = "下载中";

                                item.link_retry.Visible = item.link_open.Visible = false;
                                item.link_del.Visible   = true;
                            }));
                            break;

                        case Helper.DownCore.DownState.Fail:
                            item.Invoke(new Action(() =>
                            {
                                item.state.ForeColor = Color.FromArgb(235, 17, 35);
                                item.state.Text      = "下载失败";
                                item.time.Text       = item.size.Text = null;

                                item.link_open.Visible  = false;
                                item.link_retry.Visible = item.link_del.Visible = true;
                            }));
                            break;

                        case Helper.DownCore.DownState.Ready:
                            item.Invoke(new Action(() =>
                            {
                                item.state.ForeColor = Color.DimGray;
                                item.state.Text      = "准备中";

                                item.link_del.Visible = item.link_retry.Visible = item.link_open.Visible = false;
                            }));
                            break;

                        case Helper.DownCore.DownState.Stop:
                            item.Invoke(new Action(() =>
                            {
                                item.state.ForeColor = Color.OrangeRed;
                                item.state.Text      = "已停止";
                                item.time.Text       = null;

                                item.link_retry.Visible = item.link_open.Visible = false;
                                item.link_del.Visible   = true;
                            }));
                            break;
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        void AddCom(DownItem downIt)
        {
            Frm.Downitem item = new Frm.Downitem
            {
                Dock = DockStyle.Top,
                Size = new Size(0, 68)
            };
            item.logo.Image = downIt.img;
            item.title.Text = downIt.name;
            panel2.Controls.Add(item);

            if (downIt.core != null)
            {
                downIt.core.Tag = item;

                switch (downIt.core.State)
                {
                case Helper.DownCore.DownState.Complete:
                    item.state.ForeColor = Color.FromArgb(80, 227, 194);
                    item.state.Text      = "下载完成";

                    item.link_retry.Visible = item.link_del.Visible = false;
                    item.link_open.Visible  = true;
                    break;

                case Helper.DownCore.DownState.Downloading:
                    item.state.ForeColor    = Color.Black;
                    item.state.Text         = "下载中";
                    item.link_retry.Visible = item.link_open.Visible = false;
                    item.link_del.Visible   = true;
                    break;

                case Helper.DownCore.DownState.Fail:
                    item.state.ForeColor    = Color.FromArgb(235, 17, 35);
                    item.state.Text         = "下载失败";
                    item.link_open.Visible  = false;
                    item.link_retry.Visible = item.link_del.Visible = true;
                    break;

                case Helper.DownCore.DownState.Stop:
                    item.state.ForeColor    = Color.OrangeRed;
                    item.state.Text         = "已停止";
                    item.link_retry.Visible = item.link_open.Visible = false;
                    item.link_del.Visible   = true;
                    break;
                }
                item.LinkClick += (a, b) =>
                {
                    switch (b)
                    {
                    case "retry":
                        player.DelDownList(downIt);
                        panel2.Controls.Remove(item);
                        player.AddDownList(new List <DownItem> {
                            downIt
                        });
                        break;

                    case "open":
                        if (downIt.core.State == Helper.DownCore.DownState.Complete)
                        {
                            downIt.savepath.OpenExplorer();
                        }
                        break;

                    case "del":
                        player.DelDownList(downIt);
                        panel2.Controls.Remove(item);
                        break;
                    }
                };
                item.prog.MaxValue = downIt.core.MaxValue;
                item.prog.Value    = downIt.core.Value;
                //downIt.core.NameChange += (e) => { label4.Text = e; };
                downIt.core.SpeedChange    += Core_SpeedChange;
                downIt.core.MaxValueChange += Core_MaxValueChange;
                downIt.core.ValueChange    += Core_ValueChange;
                downIt.core.StateChange    += Core_StateChange;
                downIt.core.TimeChange     += Core_TimeChange;
            }

            item.BringToFront();
        }