连连看小方格控件
来源:互联网 发布: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; } }}