/// <summary>
 /// Stops the text scrolling on the screen.
 /// </summary>
 /// <param name="ResetText">If true will reset the scrolling text pos.</param>
 public void StopScroll(bool ResetText)
 {
     this._scrolling = false;
     this._scrollingThread.Abort();
     if (ResetText)
     {
         _display.WriteLine(this.Line, this.Text.Substring(0, 20), 0, false);
     }
 }
        /// <summary>
        /// This code is based off code from Programming 32-bit Microcontrollers in C By: Lucio Di Jasio
        /// </summary>
        private void updateProgress()
        {
            //Scale the bar base on size.
            int _width = 0;

            try
            {
                _width = _value * (BarSize * 5) / MaxValue;
            }
            //We really don't care if we divide by zero
            catch (DivideByZeroException ex)
            {
            }

            int _remainder = _width % 5;

            string _strToWrite = "";

            if (AddOutline)
            {
                _strToWrite += @"\250";
            }

            //Here we loop for each 5 in the value we add a full block
            try
            {
                for (int _count = _width / 5; _count > 0; _count--)
                {
                    _strToWrite += @"\208";
                }
            }
            //We really don't care if we divide by zero
            catch (DivideByZeroException ex)
            {
            }

            //If we have a remainder we add the right bar
            switch (_remainder)
            {
            case 1:
                _strToWrite += @"\212";
                break;

            case 2:
                _strToWrite += @"\211";
                break;

            case 3:
                _strToWrite += @"\210";
                break;

            case 4:
                _strToWrite += @"\209";
                break;
            }

            //Calc if we need to pad (This is to clear any other chars that might be in our space
            int _pad = BarSize - (_strToWrite.Length / 4);

            //the padd  function
            for (int _count = 0; _count < _pad; _count++)
            {
                _strToWrite += @"\032";
            }

            if (AddOutline)
            {
                _strToWrite += @"\252";
            }

            //Lastly we write the string out
            _display.WriteLine(DisplayLine, _strToWrite, BarOffset, false);
        }