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;
}