using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Data; using System.Windows.Forms;namespace ImageZoomer { /// /// /// //枚举类型定义,定义图象的四种翻转方式 public enum FlipModeStyle { NoFlip=0,//不翻转 FlipX=1,//水平翻转 FlipY=2,//垂直翻转 FlipXY=3//水平垂直翻转 } //事件数据类定义,报告图象的显示尺寸 public class DisplaySizeChangedEventArgs:System.EventArgs { public int Width; public int Height; public DisplaySizeChangedEventArgs() { } } //事件代表的声明 public delegate void DisplaySizeChangedEventHandler(object sender,DisplaySizeChangedEventArgs e); //用户自定义控件类 public class ImageZoomerControl : System.Windows.Forms.Control { private int width;//控件宽度 private int height;//控件高度 private System.Drawing.Bitmap bitmap;//控件上的图象 private FlipModeStyle flip;//图象的翻转方式 private event DisplaySizeChangedEventHandler eventHandler;//事件 //构造方法,初始化数据成员 public ImageZoomerControl() { width=this.width; height=this.height; bitmap=null; eventHandler=null; } //宽度属性 [ Category("ImageZoomer"), Description("The displayed image width.") ] public int DisplayWidth { get { return width; } set { if(value>=0) { width=value; Invalidate(this.ClientRectangle); } } } //高度属性 [ Category("ImageZoomer"), Description("The displayed image height.") ] public int DisplayHeight { get { return height; } set { if(value>=0) { height=value; this.Invalidate(this.ClientRectangle); } } } //图象属性 [ Category("ImageZoomer"), Description("The image displayed by this control."), DefaultValue(null) ] public Bitmap DisplayImage { get { return bitmap; } set { bitmap=value; if(bitmap!=null) { width=bitmap.Width; height=bitmap.Height; } else { width=this.width; height=this.height; } this.Invalidate(this.ClientRectangle); } } //翻转方式属性 [ Category("ImageZoomer"), Description("Specify how the image will be flipped.") ] public FlipModeStyle FlipMode { get { return flip; } set { flip=value; this.Invalidate(this.ClientRectangle); } } //事件属性 [ Category("ImageZoomer"), Description("Occurs when the image size is changed.")
〖责任编辑: 〗 告诉好友 
|