public partial class RoundButton : Button
{
Rectangle r;
private Brush _myBrush = null;
private Color _color1 = System.Drawing.Color.FromArgb(, , );
private Color _color2 = System.Drawing.Color.FromArgb(, , ); [Category("设置"), Description("渐变开始颜色")]
public Color color1
{
get { return _color1; }
set { _color1 = value; }
} [Category("设置"), Description("渐变结束颜色")]
public Color color2
{
get { return _color2; }
set { _color2 = value; }
} public void ButtonNew()
{
r = new Rectangle(, , , );
_myBrush = new LinearGradientBrush(r, _color1, _color2, LinearGradientMode.Vertical);
} public Brush MyBrush
{
get { return _myBrush; }
set { _myBrush = value; }
} protected override void OnResize(EventArgs e)
{
base.OnResize(e);
r = new Rectangle(, , this.Width, this.Height);
_myBrush = new LinearGradientBrush(r, _color1, _color2, LinearGradientMode.Vertical);
} protected override void OnMouseLeave(EventArgs e)
{
base.OnMouseLeave(e);
r = new Rectangle(, , this.Width, this.Height);
_myBrush = new LinearGradientBrush(r, _color1, _color2, LinearGradientMode.Vertical);
} protected override void OnMouseEnter(EventArgs e)
{
base.OnMouseEnter(e);
r = new Rectangle(, , this.Width, this.Height);
_myBrush = new LinearGradientBrush(r, _color2, _color1, LinearGradientMode.Vertical);
} protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
Graphics g = pevent.Graphics;
g.FillRectangle(_myBrush, this.ClientRectangle);
StringFormat strF = new StringFormat();
strF.Alignment = StringAlignment.Center;
strF.LineAlignment = StringAlignment.Center;
g.DrawString(this.Text, this.Font, new SolidBrush(Color.Black), this.ClientRectangle, strF);
}
}

垂直渐变的Button的更多相关文章

  1. html5 canvas 垂直渐变描边

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. html5 canvas 奇怪的形状垂直渐变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Notes:SVG(3)---滤镜和渐变

    SVG滤镜使用filter标签来定义,该标签必须嵌套在defs元素里面,并且必须指定一个ID,以供引用. 在 SVG 中,可用的滤镜有: feBlend feColorMatrix feCompone ...

  4. CSS3 Gradient 渐变

    转载自:http://www.w3cplus.com/content/css3-gradient CSS3发布很久了,现在在国外的一些页面上常能看到他的身影,这让我羡慕已久,只可惜在国内为了兼容IE, ...

  5. CSS gradient渐变之webkit核心浏览器下的使用

    一.关于渐变 渐变是一种应用于平面的视觉效果,可以从一种颜色逐渐地转变成另外一种颜色,故可以创建类似于彩虹的效果渐变可以应用在任何可以使用图片的地方.例如,您可以指定一个这么一个渐变:顶部的颜色是红色 ...

  6. css3实现颜色渐变以及兼容性处理

    有时我们会看到网站上的一些图片是渐变色的,这些图片有的是ui设计出来的,有的则是直接通过css3制作出来的.下面就讲一下css3实现渐变色的方法,以及在各个浏览器上的兼容性. CSS3 Gradien ...

  7. 学习SVG系列(5):SVG渐变

    SVG渐变 渐变是一种从一种颜色到另一种颜色的平滑过渡,可以把多个颜色的过渡应用到同一个元素. 渐变有两种: Linear Redial 线性渐变-<linearGradient> lin ...

  8. 【转】CSS设置DIV背景色渐变显示

     [原链接]http://www.2cto.com/kf/201310/248187.html <style type="text/css">     .linear{ ...

  9. css3的背景颜色渐变@线性渐变

    背景颜色渐变之线性渐变 语法形式: firefox浏览器 background:-moz-linear-gradient(position/deg,startColor,endColor); oper ...

随机推荐

  1. QUIC

    QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议.在2016年11月国际互联网工程任务组(IETF)召开了第一次QUIC工作组 ...

  2. bzoj1854 游戏题解(二分图/并查集)

    1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 5547  Solved: 2229[Submit][Status] ...

  3. java集合框架使用原理分析

    集合是我们日常编程中可能用的很多的技术之一 使用频率极高 可能平时就会知道怎么去用 但是集合之间的关系与不同之处都不是很清楚 对它们的底层原理更甚 所以写词文章 让自己有一个更深的认识 集合是一个庞大 ...

  4. 【Download error:TOO MANY REQUESTS】&【TypeError:excepted string or buffer】

    <用python写网络爬虫>,1.4.4链接爬虫,运行时,遇到错误: Download error:TOO MANY REQUESTS Traceback(most recent call ...

  5. requests模块:请求网页

    请求网页时需要设置对应的headers(请求头) import requests link = 'https://movie.douban.com' headers = {'User-Agent': ...

  6. 所谓guard进程不能启动

    1.网络开关的配置是true还是false? 2.服务里有个循环,所以不用打messagebox也是可以调试的. 3.虽然调式时条件变量已经变化,可以把断点拉到促成这个变化的逻辑路径上. 4.可以在调 ...

  7. Android之无限轮播图源代码

    Android轮播广告图是大家经常用到的一个控件今天便撸了一把代码 实现步骤 使用Viewpager进行实现图片滑动 设置ViewPager的数据,让其无限切换 Activity代码 public c ...

  8. [小米OJ] 11. 构建短字符串

    思路 排序后对两个字符串遍历 function solution(line) { var str = line.split(" "); var str1 = str[0].spli ...

  9. iframe插入视频自动播放代码

    <iframe marginwidth=0 marginheight=0 src='http://www.wsview.com/yzplayerAction!play2.action?autoP ...

  10. javascript基础学习第一天

    Javascript 发展过程: 1.出现:为了解决用户和游览器之间的交互. 2.概念:基于对象和事件驱动,运行在游览器客户端的脚本语言. -js在游览器中运行的.(js引擎:执行js代码) -事件: ...