连连看小方格控件

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值