亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#進度軸控件分享

2020-01-24 01:47:38
字體:
來源:轉載
供稿:網友

當執行長時間后臺處理時,你是否希望軟件給你一個反饋,讓你了解程序執行進度。進度軸幫你忙,輕松掌握全局動態。你的進度你做主!進度軸分為橫版和縱版總有一版適合你!

應用了事件機制假如有更好的方法歡迎交流,假如對您有用請頂一下。

載入時間軸控件

/// <summary>   /// 載入時間軸控件   /// 2015-04-16   /// 吳海龍   /// </summary>   public void LoadTimeAxis()   {     SortedDictionary<string, string> sdict = new SortedDictionary<string, string>();     sdict.Add("1", "讀取配置");     sdict.Add("2", "選擇模板");     sdict.Add("3", "確認數據");     sdict.Add("4", "生成代碼");     uta = new uctlTimeAxis(sdict,1);     uta.lc = new ToolFunction.uctlTimeAxis.TimeAxisClick(SayHello);     CommonFunction.AddForm3(splitContainer4.Panel2, uta);   }

panel容器中添加控件

/// <summary>    /// 項panel容器中添加控件    /// </summary>    /// <param name="p">容器panel</param>    /// <param name="uc">顯示的usercontrol</param>    public static void AddForm3(Panel p, UserControl uc)    {      p.Controls.Clear();      p.Controls.Add(uc);      uc.Dock = DockStyle.Fill;     }

初始化縱版界面

/// <summary>    /// 初始化垂直進度軸    /// 2015-04-15    /// 吳海龍    /// </summary>    public void InitVerticalTimeAxis()    {      try      {        int TempCenterOfThePieY = CenterOfTheCircleY;        using (Graphics g = this.CreateGraphics())        {          g.SmoothingMode = SmoothingMode.HighQuality; //使繪圖質量最高,即消除鋸齒          g.InterpolationMode = InterpolationMode.HighQualityBicubic;          g.CompositingQuality = CompositingQuality.HighQuality;          g.DrawString("正在執行:", f1, Brushes.Black, new PointF(CenterOfTheCircleX, 5));          g.DrawLine(p3, new Point(LineStartX, TempCenterOfThePieY), new Point(LineStartX, (sdict.Keys.Count - 1) * CircleSpace + TempCenterOfThePieY));          foreach (var item in sdict.Keys)          {            g.FillEllipse(Brushes.Gray, CenterOfTheCircleX - CircleRadius, TempCenterOfThePieY - CircleRadius, CircleRadius * 2, CircleRadius * 2);            g.FillEllipse(Brushes.White, CenterOfTheCircleX - PieRadius2, TempCenterOfThePieY - PieRadius2, PieRadius2 * 2, PieRadius2 * 2);            g.DrawString(sdict[item], f1, Brushes.DarkGray, new PointF(ItemStartX, TempCenterOfThePieY - ItemFixY));            Label l = new Label();            l.Name = item;            l.Location = new Point(ItemStartX,TempCenterOfThePieY - ItemFixY);            l.Text = sdict[item];            l.Click +=new EventHandler(l_Click);             //l.Click += new EventHandler(l_Click2);            this.Controls.Add(l);            TempCenterOfThePieY = TempCenterOfThePieY + CircleSpace;          }        }      }      catch (Exception exp)      {        CommonFunction.WriteLog(exp, "繪制失敗");      }}

縱版進度軸步進方法

/// <summary>    /// 垂直步進方法    /// /// 2015-04-16    /// 吳海龍    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    public void SetVerticalStep(object sender, KeyValueEventArgs e)    {      int TempCenterOfThePieY = CenterOfTheCircleY;      if ("" == KeyValueEventArgs.Key)      {        return;      }      using (Graphics g = this.CreateGraphics())      {        g.SmoothingMode = SmoothingMode.HighQuality; //使繪圖質量最高,即消除鋸齒        g.InterpolationMode = InterpolationMode.HighQualityBicubic;        g.CompositingQuality = CompositingQuality.HighQuality;        foreach (var item in sdict.Keys)        {          g.DrawString(sdict[item], f1, Brushes.Green, ItemStartX, TempCenterOfThePieY - ItemFixY);          g.DrawEllipse(Pens.Green, CenterOfTheCircleX - CircleRadius, TempCenterOfThePieY - CircleRadius, CircleRadius * 2, CircleRadius * 2);          g.DrawLine(p2, new Point(LineStartX, LineStartY), new Point(LineStartX, TempCenterOfThePieY));          g.FillEllipse(Brushes.Green, CenterOfTheCircleX - PieRadius, TempCenterOfThePieY - PieRadius, PieRadius * 2, PieRadius * 2);          if (item == KeyValueEventArgs.Key)          {            break;          }          TempCenterOfThePieY = TempCenterOfThePieY + CircleSpace;        }      }}

畫圖屬性字段

/// <summary>   /// 藍色寬2   /// </summary>   static Pen p1 = new Pen(Color.Blue, 2);   /// <summary>   /// 綠色寬3   /// </summary>   static Pen p2 = new Pen(Color.Green, 3);   /// <summary>   /// 灰色寬1   /// </summary>   static Pen p3 = new Pen(Color.Gray, 1);   /// <summary>   /// 微軟雅黑   /// </summary>   static Font f1 = new Font("微軟雅黑", 9, FontStyle.Regular);   /// <summary>   /// 圓心X坐標   /// </summary>   public static int CenterOfTheCircleX = 31;   /// <summary>   /// 圓心Y坐標   /// </summary>   public static int CenterOfTheCircleY = 46;   /// <summary>   /// 說明條目X坐標   /// </summary>   public static int ItemStartX = 45;   /// <summary>   /// 條目X修正量   /// </summary>   public static int ItemFixX = -20;   /// <summary>   /// 條目Y修正量   /// </summary>   public static int ItemFixY = 10;   public static Point CenterOfThePie = new Point(CenterOfTheCircleX, CenterOfTheCircleY);   /// <summary>   /// 命中Pie半徑   /// </summary>   public static int PieRadius = 6;   /// <summary>   /// 白點Pie半徑   /// </summary>   public static int PieRadius2 = 8;   /// <summary>   /// 圓半徑   /// </summary>   public static int CircleRadius = 9;   /// <summary>   /// 圓心距   /// </summary>   public static int CircleSpace = 80;   /// <summary>   /// 軸X起點   /// </summary>   public static int LineStartX = CenterOfTheCircleX;   /// <summary>   /// 軸Y起點   /// </summary>   public static int LineStartY = CenterOfTheCircleY;   /// <summary>   /// 內部Key定義   /// </summary>   public static string Key = "";   /// <summary>   /// 繪圖事件   /// </summary>   public event EventHandler<KeyValueEventArgs> KeyValueChangeEventHandler;    public delegate void LabelClickEventHandler(object sender, LabelClickEventArgs e);    //public event LabelClickEventHandler<LabelClickEventArgs> ;    public delegate void TimeAxisClick();    public TimeAxisClick lc = null;    public delegate void TimeAxisClick2(string labelName);    public TimeAxisClick2 lc2 = null;   /// <summary>   /// 流程字典   /// </summary>   public static SortedDictionary<string, string> sdict = new SortedDictionary<string, string>();   /// <summary>   /// 水平標示   /// </summary>   private static readonly int HorizontalTimeAxis = 0;   /// <summary>   /// 垂直標志   /// </summary>   private static readonly int VerticalTimeAxis = 1;    /// <summary>   /// 繪制標志,0為水平;1為垂直。   /// </summary>   public static int TimeAxisModle = 0;

構造方法

#region 構造方法    public uctlTimeAxis()    {      InitializeComponent();    }     public uctlTimeAxis(SortedDictionary<string, string> s)    {      InitializeComponent();      if (sdict != null)      {        sdict = s;      }    }     public uctlTimeAxis(SortedDictionary<string, string> s, int model)    {      InitializeComponent();      if (sdict != null)      {        sdict = s;        TimeAxisModle = model;        if (HorizontalTimeAxis==TimeAxisModle)        {          KeyValueChangeEventHandler += new EventHandler<KeyValueEventArgs>(SetHorizontalStep);        }        else if (VerticalTimeAxis==TimeAxisModle)        {          KeyValueChangeEventHandler += new EventHandler<KeyValueEventArgs>(SetVerticalStep);        }      }    }#endregion

 Key值轉變

/// <summary>   /// Key值轉變   /// </summary>   public class KeyValueEventArgs : EventArgs   {     public static string Key = "";      public KeyValueEventArgs(string s)     {       Key = s;     }   }

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产成人在线观看| 国产精品视频自在线| 最新日韩中文字幕| 亚洲在线第一页| 亚洲国语精品自产拍在线观看| 欧美区二区三区| 日韩精品免费一线在线观看| 亚洲成人xxx| 青草青草久热精品视频在线观看| 北条麻妃一区二区三区中文字幕| 久久久国产精品x99av| 国产精品久久久久久久久影视| 久久精品人人做人人爽| 亚洲毛茸茸少妇高潮呻吟| 九九热视频这里只有精品| 欧美成人午夜激情在线| 夜夜嗨av色综合久久久综合网| 国产成人久久久精品一区| 国产精品h在线观看| 最好看的2019年中文视频| 在线成人中文字幕| 国产精品入口免费视频一| 国产精品专区h在线观看| 久久精品91久久香蕉加勒比| 亚洲精品欧美极品| 亚洲天堂网在线观看| 一区二区三区天堂av| 欧美精品电影在线| 亚洲精品自拍偷拍| 国产精品高潮视频| 国产精品69久久久久| 亚洲性视频网址| 欧美日韩国产麻豆| 亚洲娇小xxxx欧美娇小| 成人亚洲综合色就1024| 操91在线视频| 久久久久久久久国产| 国产精品视频99| 亚洲综合精品一区二区| 成人有码视频在线播放| 精品国产一区二区三区在线观看| 精品久久久久久电影| 成人在线视频网站| 欧洲成人午夜免费大片| 欧美日韩视频免费播放| 欧美高清激情视频| 国产日韩中文字幕在线| 久久视频在线观看免费| 欧美中文在线视频| 亚洲伊人第一页| 国产日韩欧美在线| 91av成人在线| 黄色精品在线看| 日韩欧美在线一区| 欧美日韩国产精品一区| 欧美日韩高清区| 日韩av电影院| 欧美国产在线电影| 国产精品日韩欧美综合| 久久久久女教师免费一区| 国产一区视频在线播放| 国内精品久久久久久中文字幕| 在线观看久久av| 欧美成人午夜免费视在线看片| 精品无人区乱码1区2区3区在线| 国产精品扒开腿做爽爽爽的视频| 91久热免费在线视频| 欧美激情亚洲视频| 奇米影视亚洲狠狠色| 欧美福利视频在线观看| 日韩在线视频网站| 国产香蕉精品视频一区二区三区| 欧美制服第一页| 色综合亚洲精品激情狠狠| 91国产在线精品| 亚洲色图偷窥自拍| 久久久久久有精品国产| 91av在线影院| 欧美激情国产日韩精品一区18| 中文字幕在线观看日韩| 欧美性猛交xxxx乱大交3| 26uuu日韩精品一区二区| 欧美俄罗斯乱妇| 26uuu亚洲国产精品| 亚洲娇小xxxx欧美娇小| 成人免费在线视频网站| 国内精品小视频在线观看| 欧美高清视频一区二区| 久久91亚洲精品中文字幕奶水| 日韩亚洲第一页| 亚洲第一男人天堂| 国产精品久久久久7777婷婷| 欧美精品xxx| 久久好看免费视频| 国产欧美日韩免费看aⅴ视频| 91精品中国老女人| 中文字幕日韩欧美| 国产精品日韩欧美综合| 国产一区二区欧美日韩| 国产精品入口日韩视频大尺度| 亚洲一区二区三区毛片| 精品性高朝久久久久久久| 亚洲自拍偷拍福利| 亚洲国产99精品国自产| 亚洲一区www| 国模精品系列视频| 在线视频一区二区| 精品视频中文字幕| 久久久久久久久久久国产| 久久精品国产欧美亚洲人人爽| 欧美肥婆姓交大片| 亚洲国产精品99| 久久91精品国产91久久久| 欧美成人一区在线| 国产精品丝袜视频| 亚洲第一综合天堂另类专| 国产亚洲精品成人av久久ww| 国产视频久久久| 97热在线精品视频在线观看| 亚洲国产精品悠悠久久琪琪| 国产一区玩具在线观看| 欧美日韩国产一区二区| 欧美亚洲国产成人精品| 亚洲美女又黄又爽在线观看| 成人福利网站在线观看| 81精品国产乱码久久久久久| 奇门遁甲1982国语版免费观看高清| 久久久噜噜噜久噜久久| 国产日韩在线免费| 亚洲视频在线免费观看| 中文字幕日本欧美| 色在人av网站天堂精品| 国产精品久久久久免费a∨| 国产精品久久一区| 亚洲综合小说区| 久久久精品国产亚洲| 国产91精品黑色丝袜高跟鞋| 亚洲欧美视频在线| 亚洲电影免费在线观看| 91久久国产精品| 国产在线视频不卡| 日韩一区二区欧美| 精品成人久久av| 亚洲电影天堂av| 国产一区二区三区直播精品电影| 日韩欧美在线视频| 亚洲在线观看视频网站| 亚洲天堂男人的天堂| 俺去了亚洲欧美日韩| 欧美亚洲午夜视频在线观看| 色狠狠av一区二区三区香蕉蜜桃| 91久久精品国产| 日韩欧美亚洲成人| 久久久免费高清电视剧观看| 欧美精品电影免费在线观看| 中文国产成人精品| 色哟哟亚洲精品一区二区| 狠狠干狠狠久久| 一区二区亚洲欧洲国产日韩| 欧美黑人性生活视频| 国产91精品黑色丝袜高跟鞋| 日韩最新在线视频| 国产精品日日摸夜夜添夜夜av| 国产精品人人做人人爽|