• 很漂亮的按钮


        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);
            }
        }

  • 相关阅读:
    数据库索引详解
    解决Eclipse中DDMS一直打印输出Connection attempts的问题
    发布一个关于SharePoint的管理小工具
    POJ 2895
    POJ 2909
    2020/6/9 [MRCTF2020]hello_world_go
    2020/5/31 [GKCTF2020]Chelly’s identity
    2020/5/30 [FlareOn6]Overlong
    2020/5/28 BUU_[WUSTCTF2020]level4
    2020/5/25 BUU_[WUSTCTF2020]level3
  • 原文地址:https://www.cnblogs.com/cgzwwy/p/1511996.html
Copyright © 2020-2023  润新知