WinForm--进度加载等待控件

一.设计时与运行时效果

 

 

 

 

二.部分源代码

 

  1.  protected override void OnPaint(PaintEventArgs e)
  2.         {
  3.             base.OnPaint(e);
  4.            
  5.             if (_list.Count == 0 && _paintStyle != PaintStyle.Line)
  6.                 return;
  7.             if (_isShadeColor)
  8.             {
  9.                 if(_colorList == null || _colorList.Length == 0)
  10.                     return;
  11.             }
  12.             PointF Pcenter = new PointF(this.ClientSize.Width / 2, this.ClientSize.Height / 2);
  13.             Graphics g = e.Graphics;
  14.             g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
  15.             switch (_paintStyle)
  16.             {
  17.                 case PaintStyle.Flower :
  18.                     for (int i = 0; i < _flowerNum; i++)
  19.                     {
  20.                         g.TranslateTransform(Pcenter.X, Pcenter.Y);//将原点变换到图形中心
  21.                         g.RotateTransform(i * 360 / _flowerNum); //旋转
  22.                         WaitItem item = _list[i] as WaitItem;
  23.                         if (_isShadeColor)
  24.                         {
  25.                             item.FillNum = 2;
  26.                             item.FillColor = _colorList[i];
  27.                         }
  28.                         item.DrawPath(g);
  29.                         g.ResetTransform();
  30.                     }
  31.                     break;
  32.                 case PaintStyle.Triangle :
  33.                     for (int i = 0; i < _list.Count; i++)
  34.                     {
  35.                         g.TranslateTransform(Pcenter.X, Pcenter.Y);//将原点变换到图形中心
  36.                         g.RotateTransform(i * 360 / _flowerNum); //旋转
  37.                         g.TranslateTransform(0, -this.Height / 4);//
  38.                         WaitItem item = _list[i] as WaitItem ;
  39.                         if (_isShadeColor)
  40.                         {
  41.                             item.FillNum = 2;
  42.                             item.FillColor = _colorList[i];
  43.                         }
  44.                         item.DrawPath(g);
  45.                         g.ResetTransform();
  46.                     }
  47.                     break;
  48.                 case PaintStyle.Gear:
  49.                     for (int i = 0; i < _flowerNum; i++)
  50.                     {
  51.                         g.ResetTransform();
  52.                         g.TranslateTransform(Pcenter.X, Pcenter.Y);//将原点变换到图形中心
  53.                         g.RotateTransform(i * 360 / _flowerNum); //旋转
  54.                         WaitItem item = _list[i] as WaitItem;
  55.                         item.DrawPath(g);
  56.                         g.ResetTransform();
  57.                     }
  58.                     break;
  59.                 case PaintStyle.Annulus :
  60.                     for (int i = 0; i < _flowerNum; i++)
  61.                     {
  62.                         g.TranslateTransform(Pcenter.X, Pcenter.Y);//将原点变换到图形中心
  63.                         g.RotateTransform(i * 360 / _flowerNum); //旋转
  64.                         WaitItem item = _list[i] as WaitItem;
  65.                         if (_isShadeColor)
  66.                         {
  67.                             item.FillNum = 2;
  68.                             item.FillColor = _colorList[i];
  69.                         }
  70.                         item.DrawPath(g);
  71.                         g.ResetTransform();
  72.                     }
  73.                     break;
  74.                 case PaintStyle.Line:
  75.                     DrawLine(g);
  76.                     //DrawAnnulus(g);
  77.                     break;
  78.             }
  79.         }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值