using System; using System.Drawing; using System.Reflection; using System.Windows.Forms; namespace Mesnac.Controls.Feeding { /// /// 解包站 /// [ToolboxBitmap(typeof(BagOpenStation), "Resources.BagOpenStation.bmp")]//新添加的代码 public partial class BagOpenStation : FeedingControl { bool bNewPic = false; string _statusName; public string StatusName { get { return _statusName; } set { _statusName = value; } } public enum Statuses { ygNull = 0, ygMid = 1, ygFull = 2 } Statuses _status; public Statuses Status { get { return _status; } set { if ( bFirstCreated == true ) { bFirstCreated = false; } if ( _status != value ) { if ( this.DesignMode == true ) { bNewPic = true; } } if ( (int)value < 0 ) { _status = (Statuses)0; } else if ( (int)value > 2 ) { _status = (Statuses)2; } else { _status = value; } ReloadStream(); this.Refresh(); } } string[] sImages; public BagOpenStation() : base() { InitializeComponent(); Init(); ReloadStream(); } protected override void Init() { base.Init(); _imageStream = null; sImages = new string[3]; sImages[0] = "Mesnac.Controls.Feeding.Resources.Home.gif";//ygNull sImages[1] = "Mesnac.Controls.Feeding.Resources.Home1.gif";//ygMid sImages[2] = "Mesnac.Controls.Feeding.Resources.Home.gif";//ygFull _status = Statuses.ygNull; } private void ReloadStream() { //CloseStream(); int nIndex = (int)_status; _imageStream = _assembly.GetManifestResourceStream(sImages[nIndex]); } protected override void OnPaint(PaintEventArgs e) { if (_imageStream != null) { Graphics g = e.Graphics; Image img = Image.FromStream(_imageStream); if (bNewPic == true) { this.Size = img.Size; bNewPic = false; } g.DrawImage(img, 0, 0, this.Width, this.Height); //this.IsHandleCreated } } // private void BagOpenStation_Load(object sender, EventArgs e) { if (bFirstCreated == true && this.DesignMode == true) { bNewPic = true; bFirstCreated = false; } } } }