using System; using System.Drawing; using System.IO; using System.Reflection; using System.Windows.Forms; namespace Mesnac.Controls.Feeding { /// /// 导开机 /// [ToolboxBitmap( typeof( BatchFeeder ) , "ICONS.BatchFeeder.bmp" )]//新添加的代码 public partial class BatchFeeder : FeedingControl { bool bNewPic = false; bool bSreamPic = false; string _statusName; public string StatusName { get { return _statusName; } set { _statusName = value; } } public enum Statuses { //dkNull = 0, dkFull = 1, dkMove = 2, dkAlarm=3 dkNull = 0, dkMove = 1, dkFull = 2, dkAlarm = 3 } Statuses _status; string[] sImages; public BatchFeeder() : base() { InitializeComponent(); Init(); ReloadStream(); this.Reload(); } protected override void Init() { base.Init(); _imageStream = null; sImages = new string[4]; sImages[0] = "Mesnac.Controls.Feeding.Resources.dkj.dkNull.png";//dkNull sImages[1] = "Mesnac.Controls.Feeding.Resources.dkj.dkMove.gif";//dkMove sImages[2] = "Mesnac.Controls.Feeding.Resources.dkj.dkFull.png";//dkFull sImages[3] = "Mesnac.Controls.Feeding.Resources.dkj.dkAlarm.gif";//dkAlarm _status = Statuses.dkNull; } private void ReloadStream() { //CloseStream(); int nIndex = (int)_status; _imageStream = _assembly.GetManifestResourceStream(sImages[nIndex]); } public Statuses Status { get { return _status; } set { if (bFirstCreated == true) { bFirstCreated = false; } //if (_status != value &&(this.Size.Width != 150 || this.Size.Height != 150) ) if ( _status != value ) { bSreamPic = true; if (this.DesignMode == true) { bNewPic = true; } } if ( (int)value < 0 ) { _status = Statuses.dkNull; } else if ( (int)value > 3 ) { _status = Statuses.dkAlarm; } else { _status = value; } //if ((int)value != 1) //{ // this._status = (Statuses)2; //} if (bSreamPic) { ReloadStream(); this.Refresh(); this.Reload(); } } } private void Reload() { if ( _imageStream != null ) { Image img = Image.FromStream( _imageStream ); if ( bNewPic == true ) { this.Size = img.Size; bNewPic = false; } pictureBox1.Image = img; pictureBox1.Refresh(); } } private void BatchFeeder_Load(object sender, EventArgs e) { if (bFirstCreated == true && this.DesignMode == true) { bNewPic = true; bFirstCreated = false; this.Reload(); } } } }