protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!String.IsNullOrEmpty(Settings.Default.CalibrationFile))
            {
                try
                {
                    CalibrationFile.Read(Settings.Default.CalibrationFile, m_Servos);
                }
                catch (Exception ex)
                {
                    StringBuilder stringBuilder = new StringBuilder();
                    stringBuilder.AppendLine("Error: Could not read calibration data from file:");
                    stringBuilder.AppendLine(Settings.Default.CalibrationFile);
                    stringBuilder.AppendLine("Original error:");
                    stringBuilder.AppendLine(ex.Message);

                    MessageBox.Show(stringBuilder.ToString());
                }
            }

            StringCollection servoPositionStrings = Settings.Default.ServoPositions;

            if (servoPositionStrings != null && servoPositionStrings.Count != 0)
            {
                for (int i = 0; i < m_ServoControls.Count; i++)
                {
                    ServoControl servoControl  = m_ServoControls[i];
                    int          servoPosition = (int)Convert.ToInt32(servoPositionStrings[i], CultureInfo.InvariantCulture);

                    servoControl.Model.Position = servoPosition;
                }
            }
        }
 public MainForm()
 {
     InitializeComponent();
     m_Servos = new Servos();
     foreach (Control control in this.Controls)
     {
         ServoControl servoControl = control as ServoControl;
         if (servoControl != null)
         {
             m_ServoControls.Add(servoControl);
         }
     }
 }
        protected override void OnClosing(CancelEventArgs e)
        {
            base.OnClosing(e);

            //// If the MainForm is not minimized, save the current MainFormSize and
            //// location to the settings file.  Otherwise, the existing values
            //// in the settings file will not change...
            //if (this.WindowState != FormWindowState.Minimized)
            //{
            //    Settings.Instance.MainFormSize = this.Size;
            //    Settings.Instance.MainFormLocation = this.Location;
            //}

            //Settings.Instance.MainSplitterDistance = m_MainSplitContainer.SplitterDistance;

            Settings.Default.ServoPositions = new StringCollection();
            for (int i = 0; i < m_ServoControls.Count; i++)
            {
                ServoControl servoControl = m_ServoControls[i];
                Settings.Default.ServoPositions.Add(servoControl.Model.Position.ToString(CultureInfo.InvariantCulture));
            }

            Settings.Default.Save();
        }