C#|WINCE按钮重绘

来源:互联网 发布:seo学徒招聘 编辑:程序博客网 时间:2024/06/05 09:55
public partial class ImageButton : Control    {        public ImageButton()        {        }        Image backgroundImage;        bool pressed = false;        // Property for the background image to be drawn behind the button text.        public Image BackgroundImage        {            get            {                return this.backgroundImage;            }            set            {                this.backgroundImage = value;            }        }        // When the mouse button is pressed, set the "pressed" flag to true         // and invalidate the form to cause a repaint.  The .NET Compact Framework         // sets the mouse capture automatically.        protected override void OnMouseDown(MouseEventArgs e)        {            this.pressed = true;            this.Invalidate();            base.OnMouseDown(e);        }        // When the mouse is released, reset the "pressed" flag         // and invalidate to redraw the button in the unpressed state.        protected override void OnMouseUp(MouseEventArgs e)        {            this.pressed = false;            this.Invalidate();            base.OnMouseUp(e);        }        // Override the OnPaint method to draw the background image and the text.        protected override void OnPaint(PaintEventArgs e)        {            e.Graphics.FillRectangle(new SolidBrush(SystemColors.ActiveCaption), e.ClipRectangle);            if (this.backgroundImage != null)            {                ImageAttributes attr = new ImageAttributes();                attr.SetColorKey(Color.Magenta, Color.Magenta);                if (this.pressed)                    e.Graphics.DrawImage(this.backgroundImage, this.ClientRectangle, 0, 0, this.backgroundImage.Width, this.backgroundImage.Height, GraphicsUnit.Pixel, attr);                else                    e.Graphics.DrawImage(this.backgroundImage, this.ClientRectangle, 0, 0, this.backgroundImage.Width, this.backgroundImage.Height, GraphicsUnit.Pixel, attr);            }            base.OnPaint(e);        }    }

原创粉丝点击