/// <summary>
        /// Handle our object painting
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void HandlePaint(object sender, PaintEventArgs e)
        {
            Rectangle DrawRect = (Rectangle)sender.GetType().GetProperty("Bounds").GetValue(sender);
            Font      DrawFont = (Font)sender.GetType().GetProperty("Font").GetValue(sender);

            e.Graphics.Clear(Color.Black);
            MM_Communication_Status.DrawStatus(e.Graphics, 2, (DrawRect.Width - 8) / 4, DrawRect.Height - 4, DrawRect.Width, Font);
        }
 /// <summary>
 /// Initialize the communication viewer
 /// <param name="CommStatus">The key indicators text box showing the summary of communication status</param>
 /// </summary>
 public MM_Communication_Viewer(MM_Communication_Status CommStatus)
 {
     InitializeComponent();
     this.CommStatus     = CommStatus;
     this.CommStatus.Tag = this;
     this.Title          = "Communications Status - " + Data_Integration.UserName.ToUpper() + " ";
     this.UIHelper       = new MM_UserInterface_Helper(ssLower, ssMem, lblCPU);
     tcMain.DrawItem    += new DrawItemEventHandler(tcMain_DrawItem);
     tcMain.DrawMode     = TabDrawMode.OwnerDrawFixed;
     SetControls();
     this.Visible = false;
     lvMacomberMapServers.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).SetValue(lvMacomberMapServers, true, null);
     lvQueryStatus.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).SetValue(lvQueryStatus, true, null);
 }
 /// <summary>
 /// Create a seperate thread to run the communications viewer, and run it.
 /// </summary>
 /// <param name="CommStatus">The communications status label</param>
 /// <returns></returns>
 public static void CreateInstanceInSeparateThread(MM_Communication_Status CommStatus)
 {
     ThreadPool.QueueUserWorkItem(new WaitCallback(InstantiateForm), CommStatus);
 }