连连看小方格控件

来源:互联网 发布:mac pro强制重启快捷键 编辑:程序博客网 时间:2024/04/30 01:08
namespace LlkForm{    public partial class llkBox : UserControl    {        public llkBox()        {            InitializeComponent();        }        private bool picchang = false;        /// <summary>        /// 是否加载图片        /// </summary>        public bool PicChang        {            get            { return picchang; }            set            { picchang = value; }        }        private bool isclick=false;        /// <summary>        /// 是否第一次单击        /// </summary>        [Browsable(true)]        public bool IsClick         {            get            { return isclick; }            set            { isclick = value; Invalidate(); }        }        private bool isclicktemp = false;        /// <summary>        /// 用于提示        /// </summary>        public bool IsClickTemp        {            get            { return isclicktemp; }            set            { isclicktemp = value; Invalidate(); }        }        private string text = "";        /// <summary>        /// 文本        /// </summary>        [Browsable(true)]        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]        public override string Text         {            get { return text; }            set {                text = value;                if (PicChang)                {                    switch (text)                    {                        case "0":                            Image = null;                            break;                        case "1":                            Image = Properties.Resources._1;                            break;                        case "2":                            Image = Properties.Resources._2;                            break;                        case "3":                            Image = Properties.Resources._3;                            break;                        case "4":                            Image = Properties.Resources._4;                            break;                        case "5":                            Image = Properties.Resources._5;                            break;                        case "6":                            Image = Properties.Resources._6;                            break;                        case "7":                            Image = Properties.Resources._7;                            break;                        case "8":                            Image = Properties.Resources._8;                            break;                        case "9":                            Image = Properties.Resources._9;                            break;                        case "10":                            Image = Properties.Resources._10;                            break;                        case "11":                            Image = Properties.Resources._11;                            break;                        case "12":                            Image = Properties.Resources._12;                            break;                        case "13":                            Image = Properties.Resources._13;                            break;                        case "14":                            Image = Properties.Resources._14;                            break;                        case "15":                            Image = Properties.Resources._15;                            break;                        default:                            Image = null;                            break;                    }                }                    }        }        private Image image = null;        public Image Image        {            get            { return image; }            set            { image = value; Invalidate(); }        }        protected override void OnPaint(PaintEventArgs e)        {            Graphics g = e.Graphics;            //绘制控件的图像            if (Image!=null)                g.DrawImage(Image,                new Rectangle(2, 2, Size.Width, Size.Height));            if (IsClickTemp)                g.DrawRectangle(new Pen(Color.Coral, 2), new Rectangle(new Point(2, 2), new Size(Size.Width - 3, Size.Height - 3)));            //绘制控件的边框---Pens.Blue---Point.Empty            if (IsClick)                g.DrawRectangle(new Pen(Color.Blue, 2), new Rectangle(new Point(2,2), new Size(Size.Width-3 , Size.Height-3 )));            base.OnPaint(e);        }        private void llkBox_Load(object sender, EventArgs e)        {        }        private void llkBox_Click(object sender, EventArgs e)        {            if (IsClick)                IsClick = false;            else                IsClick = true;        }    }}