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. [开源]OSharpNS 步步为营系列 - 3. 添加业务服务层

    什么是OSharp OSharpNS全称OSharp Framework with .NetStandard2.0,是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架.这个 ...

  2. .Net Core 使用百度UEditor编辑器

    一.准备文件 1. 下载UEditor官方版本.删除其中后端文件.保留后端文件夹中的config.json文件 2. 在NuGet管理器中搜索UEditorNetCore,拿到项目地址,下载源码 下载 ...

  3. 使用kubectl管理k8s集群(二十九)

    前言 在搭建k8s集群之前,我们需要先了解下kubectl的使用,以便在集群部署出现问题时进行检查和处理.命令和语法记不住没有关系,但是请记住主要的语法和命令以及帮助命令的使用. 在下一篇,我们将讲述 ...

  4. springcloud-注册中心快速构建

    1. 场景描述 springcloud提供了一整套可行的构建分布式系统的方案,使的企业/开发人员能够快速沟通分布式系统,今天快速构建下springcloud的注册中心Eureka. 2. 解决方案 2 ...

  5. TestNG的静态方法mock的步骤

    最近团队内部对程序中使用大量的`静态方法`,而公司要求要有sonar扫描覆盖率的,因为在大量使用静态方法的地方若不mock,则覆盖率达不到.于是网上很少的文章讲解对静态方法的mock,大多都是如何使用 ...

  6. c++小游戏——扫雷

    #include<cstdio> #include<cstring> #include<algorithm> #include<conio.h> #in ...

  7. Java简单公式计算器

    最近给公司开发业务代码时,碰到一个场景,简单描述是这样的: 客户要向咱们公司定制一件产品,这个产品呢,有很多属性,那公司得根据这些属性报价呀,怎么报价呢?公司针对某种类型的产品有一个基准价,在同类产品 ...

  8. hive show databases 添加条件

    show databases like 'test012301' ; 通配符: show databases like 'a*';

  9. 有不少朋友问我Halcon和Opencv的区别?

    Halcon:机器视觉行业里知名的商业视觉库,非开源的,在国内市场份额处于第一,其提供了1500个多个API算子供开发人员使用,有些编程基础的都可以轻松的入门,其调试也是很方便的,断点单步运行,图像变 ...

  10. LeetCode 138:复制带随机指针的链表 Copy List with Random Pointer

    给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点. 要求返回这个链表的深拷贝. A linked list is given such that each no ...