Provides the ability to create 32-bit alpha drag images using the ImageList drag functionality in .NET.
Inheritance: IDisposable
        private void Initialize(IconPanel parent, Image imgPanel, Image imgDrag, int index, Object IconData, EventHandler onClickEvent, DoubleClickIconEvent onDoubleClickEvent)
        {
            this.index       = index;
            this.iconPanel   = parent;
            this.m_oIconData = IconData;
            m_imgDrag        = imgDrag;

            if (IconData == null)
            {
                throw new Exception("IconData is not set for this panel icon.");
            }

            Image    = imgPanel;
            Visible  = true;
            Location = new Point(iconPanel.outlookBar.Size.Width / 2 - imgPanel.Size.Width / 2,
                                 iconPanel.PanelMargin + index * iconPanel.IconSpacing);
            Size = imgPanel.Size;

            if (onClickEvent != null)
            {
                Click += onClickEvent;
            }

            if (onDoubleClickEvent != null)
            {
                DoubleClickIcon += onDoubleClickEvent;
            }

            Tag = this;

            MouseEnter   += new EventHandler(OnMouseEnter);
            MouseLeave   += new EventHandler(OnMouseLeave);
            MouseMove    += new MouseEventHandler(OnMouseMove);
            MouseDown    += new MouseEventHandler(OnMouseDown);
            GiveFeedback += new GiveFeedbackEventHandler(OnGiveFeedback);

            m_imageDrag           = new ImageListDrag();
            m_imageList           = new ImageList();
            m_imageList.ImageSize = new Size(imgDrag.Width, imgDrag.Height);
            m_imageDrag.Imagelist = m_imageList;
            m_imageList.Images.Add(imgDrag, System.Drawing.Color.Transparent);
            m_bDraggingIcon = false;

            bckgColor = iconPanel.BackColor;
            //mouseEnter=false;
            AllowDrop = true;
        }
        private void Initialize(IconPanel parent, Image imgPanel, Image imgDrag, int index, Object IconData, EventHandler onClickEvent, DoubleClickIconEvent onDoubleClickEvent)
        {
            this.index=index;
                this.iconPanel=parent;
                this.m_oIconData = IconData;
                m_imgDrag = imgDrag;

                if(IconData == null)
                    throw new Exception("IconData is not set for this panel icon.");

                Image=imgPanel;
                Visible=true;
                Location=new Point(iconPanel.outlookBar.Size.Width/2-imgPanel.Size.Width/2,
                    iconPanel.PanelMargin + index*iconPanel.IconSpacing);
                Size=imgPanel.Size;

                if(onClickEvent != null)
                    Click+=onClickEvent;

                if(onDoubleClickEvent != null)
                    DoubleClickIcon+=onDoubleClickEvent;

                Tag=this;

                MouseEnter+=new EventHandler(OnMouseEnter);
                MouseLeave+=new EventHandler(OnMouseLeave);
                MouseMove+=new MouseEventHandler(OnMouseMove);
                MouseDown+=new MouseEventHandler(OnMouseDown);
                GiveFeedback+=new GiveFeedbackEventHandler(OnGiveFeedback);

                m_imageDrag = new ImageListDrag();
                m_imageList = new ImageList();
                m_imageList.ImageSize = new Size(imgDrag.Width, imgDrag.Height);
                m_imageDrag.Imagelist = m_imageList;
                m_imageList.Images.Add(imgDrag, System.Drawing.Color.Transparent);
                m_bDraggingIcon = false;

                bckgColor=iconPanel.BackColor;
                //mouseEnter=false;
                AllowDrop = true;
        }