60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.ComponentModel;
 | 
						|
using System.Data;
 | 
						|
using System.Drawing;
 | 
						|
using System.Text;
 | 
						|
using System.Windows.Forms;
 | 
						|
using System.Drawing.Imaging;
 | 
						|
 | 
						|
namespace PDADemo
 | 
						|
{
 | 
						|
    public partial class PictureControl : Control
 | 
						|
    {
 | 
						|
        private int imageIndex = 0;
 | 
						|
 | 
						|
        public int ImageIndex
 | 
						|
        {
 | 
						|
            get { return imageIndex; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                imageIndex = value;
 | 
						|
                this.Invalidate();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private Image backgroundImage;
 | 
						|
 | 
						|
        public Image BackgroundImage
 | 
						|
        {
 | 
						|
            get { return backgroundImage; }
 | 
						|
            set { backgroundImage = value; }
 | 
						|
        }
 | 
						|
 | 
						|
        public PictureControl()
 | 
						|
        {
 | 
						|
        }
 | 
						|
 | 
						|
        protected override void OnPaint(PaintEventArgs pe)
 | 
						|
        {
 | 
						|
            // TODO: 在此处添加自定义绘制代码
 | 
						|
 | 
						|
            SolidBrush brush = new SolidBrush(SystemColors.ActiveCaption);
 | 
						|
            pe.Graphics.FillRectangle(brush, this.ClientRectangle);
 | 
						|
            brush.Dispose();
 | 
						|
 | 
						|
            if (this.BackgroundImage != null)
 | 
						|
            {
 | 
						|
 | 
						|
                ImageAttributes attr = new ImageAttributes();
 | 
						|
                attr.SetColorKey(Color.Magenta, Color.Magenta);
 | 
						|
 | 
						|
                pe.Graphics.DrawImage(this.backgroundImage, this.ClientRectangle, imageIndex * 16, 0, 16, 16, GraphicsUnit.Pixel, attr);
 | 
						|
 | 
						|
            }
 | 
						|
            // 调用基类 OnPaint
 | 
						|
            base.OnPaint(pe);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |