連連看小方格控件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章