protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style |= 0x04;
return cp;
}
}

上面是垂直方向,从下到上

下面是美观

 public class VerticalProgressBar : ProgressBar
{
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style |= 0x04;
return cp;
}
} public VerticalProgressBar()
{
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
}
/// <summary>
/// 从下到上
/// </summary>
/// <param name="e"></param>
protected override void OnPaint(PaintEventArgs e)
{
SolidBrush brush = null; Rectangle rec = new Rectangle(, , this.Width-, this.Height-); if (ProgressBarRenderer.IsSupported)
{
ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rec);
}
//Pen pen = new Pen(this.ForeColor, 1); //左上的线色
Pen pen = new Pen(Color.Red, );
e.Graphics.DrawRectangle(pen, rec);
//绘制进度条空白处
e.Graphics.FillRectangle(new SolidBrush(this.BackColor), , , rec.Width - , rec.Height - ); rec.Width -= ;
rec.Height = (int)(rec.Height * ((double)Value / Maximum)) - ;
brush = new SolidBrush(this.ForeColor);
//绘制进度条进度
e.Graphics.FillRectangle(brush, , Height - rec.Height - , rec.Width, rec.Height);
}
/// <summary>
/// 从左到右
/// </summary>
/// <param name = "e" ></ param >
//protected override void OnPaint(PaintEventArgs e)
//{
// SolidBrush brush = null;
// Rectangle rec = new Rectangle(0, 0, this.Width - 1, this.Height - 1); // if (ProgressBarRenderer.IsSupported)
// {
// ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rec);
// }
// //Pen pen = new Pen(this.ForeColor, 1); //左上的线色
// Pen pen = new Pen(Color.Red, 1);
// e.Graphics.DrawRectangle(pen, rec);
// e.Graphics.FillRectangle(new SolidBrush(this.BackColor), 1, 1, rec.Width - 1, rec.Height - 1); // rec.Height -= 1;
// rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 1;
// brush = new SolidBrush(this.ForeColor);
// e.Graphics.FillRectangle(brush, 1, 1, rec.Width, rec.Height);
//}
}
 
声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!

c# ProgressBar进度条方向和美观的更多相关文章

  1. Qt Quick 常用元素:ComboBox(下拉列表) 与 ProgressBar(进度条)

    一.ComboBox ComboBox,即下拉列表框,由一个列表框和一个标签控件(或编辑控件)组成.ComboBox 的下拉列表是使用 Menu 实现的,列表内的每个条目对应一个 Menultem. ...

  2. Android学习笔记- ProgressBar(进度条)

    本节引言: 本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如 用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用 ...

  3. progressbar进度条组件

    Progressbar 进度条组件 通过$.fn.progressbar.fn.defaults重写默认的defaults进度条(progressbar)提供了一种显示长时间操作进度的反馈.进度可被更 ...

  4. ProgressBar(进度条)、SeekBar(拖动条)与星级评分条(RatingBar)

    1.ProgressBar(进度条) (1)介绍 (2)常用属性 (3)xml代码 <ProgressBar android:id="@+id/progressBar2" s ...

  5. 第一百九十八节,jQuery EasyUI,ProgressBar(进度条)组件

    jQuery EasyUI,ProgressBar(进度条)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 ProgressBar(进度条) ...

  6. EasyUI系列学习(八)-ProgressBar(进度条)

    一.创建组件 1.class加载 <div class="easyui-progressbar"></div> 2.js加载 <div id=&quo ...

  7. Tkinter 之ProgressBar进度条标签

    一.参数说明 参数 作用 cursor 鼠标位于进度条内时的形状 length 进度条长度 maximum 进度条最大刻度值 mode  进度条的模式.有两种:‘determinate’和’indet ...

  8. android ProgressBar 进度条的进度两端是圆角的方法

    转自 http://www.jianshu.com/p/6e7ea842d5ce 另外工作原理可以参考http://blog.csdn.net/lan603168/article/details/44 ...

  9. Android -- ProgressBar(进度条的使用)

    我们在开发程序是经常会需要软件全屏显示.自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示. requestWindowFeature可以设置的值有:(具 ...

随机推荐

  1. OC NSArray数组排序

    一.一般排序 // 排序 NSArray *arr = @["]; NSArray *newarr = [arr sortedArrayUsingSelector:@selector(com ...

  2. dubbo的ExtensionLoader

    了解4个概念:接口,实现类,wrapper,adaptive. 扩展是接口实现类被wrap之后的对象,adaptive扩展是动态生成的类(例如Dubbo$Adaptive类). dubbo框架为接口指 ...

  3. 使用 istreambuf_iterator 读取文件内容,赋值给 std::string

    需要一个一个字符输入时考虑使用istreambuf_iterator 假设我们要把一个文本文件拷贝到一个字符串对象中.似乎可以用一种很有道理的方法完成: ifstream inputFile(&quo ...

  4. mobilebone.js-mobile移动web APP单页切换骨架

    昨天看到张鑫旭前辈发了一条微博,便互动了下,是他的一个开源移动端框架,没事看看,这是效果

  5. Python zipfile 编码问题

    zipfile默认对于文件名编码只识别cp437和utf-8 对于采用其他编码方式的文件,zipfile解压出来的就会是乱码 我们可以先把它encode成cp437然后再decode成GBK 最后在把 ...

  6. 快速切题 sgu105. Div 3 数学归纳 数位+整除 难度:0

    105. Div 3 time limit per test: 0.25 sec. memory limit per test: 4096 KB There is sequence 1, 12, 12 ...

  7. BeanFactory工厂

    Core模块主要的功能是实现了反向控制(Inversion of Control)与依赖注入(Denpendency Injection).Bean配置以及加载. Beans为Spring里的各种对象 ...

  8. 2019.1.10 L223

    Heavy rains that brought additional pollution downstream last year contributed to the first decline ...

  9. 掌握所有编程语言不是梦-转自csdn

    还在讨论哪种编程语言最具价值?还在头疼怎么快速掌握新的语言?本文给出了一劳永逸的办法:掌握所有编程语言不是梦. 以下为译文: 我想在这里讨论的不是如何掌握一门编程语言,而是掌握所有的编程语言. 许多初 ...

  10. CMS垃圾回收

    最近在学习JVM和GC调优,今天总结下CMS的一些特点和要点,让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重 ...