public PanelDisplay(int width, int height) { Width = width; Height = height; SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.UserPaint | ControlStyles.Opaque, true); //setup the progressbar progressBar.Location = new Point(m_LeftPad, Height - 60); progressBar.Size = new Size(Width - m_LeftPad - m_RightPad, 20); progressBar.Maximum = 100; progressBar.Value = 0; progressBar.Visible = false; Controls.Add(progressBar); //setup the messageBox messageBox.Location = new Point(m_LeftPad, m_HeaderHeight + m_TopPad + 20); messageBox.Multiline = true; messageBox.Size = new Size(Width - m_LeftPad - m_RightPad, 0); messageBox.ReadOnly = true; messageBox.ScrollBars = RichTextBoxScrollBars.Vertical; messageBox.BackColor = SystemColors.Window; //white messageBox.Visible = false; Controls.Add(messageBox); //setup the animation list for (int i = 0; i < UpdateItems.Length; i++) { UpdateItems[i] = new UpdateItem { AnimationWidth = 16, Visible = false, Left = 45 }; Controls.Add(UpdateItems[i].Animation); Controls.Add(UpdateItems[i].Label); } // the single centered animation aniWorking = new AnimationControl { Columns = 18, Rows = 1, AnimationInterval = 46, Visible = false, Location = new Point((Width / 2), (Height / 2)), StaticImage = false, BaseImage = UpdateItem.ProgressImage }; Controls.Add(aniWorking); }