zoukankan      html  css  js  c++  java
  • 很漂亮的按钮

        public class XButton : RadioButton
        {
            public XButton():base()
            {
                Cursor = Cursors.Hand;
                AutoSize = false;
                SetStyle(ControlStyles.ResizeRedraw, true);
            }
            bool mouseEnter = false;
            Color color1 = System.Drawing.Color.LightGreen;
            Color color2 = System.Drawing.Color.Yellow;
            Color color3 = System.Drawing.Color.Gray;
            Color color4 = System.Drawing.Color.DarkGreen;
            Color color5 = System.Drawing.Color.Orange;
            Color color6 = System.Drawing.Color.Black;
            /// <summary>
            /// 第一个颜色设置
            /// </summary>
            public Color Color1
            {
                get { return color1; }
                set { color1 = value; Invalidate(); }
            }
            public Color Color2
            {
                get { return color2; }
                set { color2 = value; Invalidate(); }
            }
            public Color Color3
            {
                get { return color3; }
                set { color3 = value; Invalidate(); }
            }
            public Color Color4
            {
                get { return color4; }
                set { color4 = value; Invalidate(); }
            }
            public Color Color5
            {
                get { return color5; }
                set { color5 = value; Invalidate(); }
            }
            public Color Color6
            {
                get { return color6; }
                set { color6 = value; Invalidate(); }
            }
            protected override void OnPaint(PaintEventArgs pevent)
            {
                System.Drawing.Brush bs = new System.Drawing.Drawing2D.LinearGradientBrush(new System.Drawing.Point(0, 0), new System.Drawing.Point(0, Height),
                    Checked ? Color1 : mouseEnter ? Color2 : Color3,
                    Checked ? Color4 : mouseEnter ? Color5 : Color6);

                pevent.Graphics.FillRectangle(bs, new System.Drawing.Rectangle(0, 0, Width, Height));

                System.Drawing.StringFormat sf = new System.Drawing.StringFormat();
                sf.Alignment = StringAlignment.Center;
                sf.LineAlignment = StringAlignment.Center;

                pevent.Graphics.DrawString(Text, Font, mouseEnter && !Checked ? System.Drawing.Brushes.Blue : System.Drawing.Brushes.White, new System.Drawing.RectangleF(0, 0, Width, Height), sf);
            }

            protected override void OnMouseEnter(EventArgs eventargs)
            {
                mouseEnter = true;
                base.OnMouseEnter(eventargs);
            }

            protected override void OnMouseLeave(EventArgs eventargs)
            {
                mouseEnter = false;
                base.OnMouseLeave(eventargs);
            }
        }

  • 相关阅读:
    jz2440 环境搭建遇到的问题
    Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
    Android中RelativeLayout各个属性的含义
    【安装.net framework4.0】之安装失败,“安装时发生严重错误”
    【windows7 + Appium】之Appium安装以及其他工具安装配置
    【Selenium + Python】之OSError: [WinError 6] 句柄无效。
    【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)
    【Postman】接口测试工具:在谷歌浏览器安装插件方法以及使用说明
    【JMeter4.0学习(十一)】之JMeter对(Mysql、Oracle)数据库性能测试脚本开发
    【Selenium + Python】之 Excel、CSV、XML文件读取数据并运用数据百度查询
  • 原文地址:https://www.cnblogs.com/cgzwwy/p/1511996.html
Copyright © 2011-2022 走看看