using System;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;

namespace Mesnac.Controls.Feeding
{
    /// <summary>
    /// 解包站
    /// </summary>
    [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;
            }
        }

    }
}