private void BuildSimulatorConnectionString()
        {
            var candidate = SimulatorEndpoint.FromConnectionString("Simulator");

            candidate.Realtime = true;
            Settings.Default.ConnectionString = candidate.ToString();
        }
        private void CommunicationSettingsControl_Load(object sender, EventArgs e)
        {
            var connection   = Settings.Default.ConnectionString;
            var useSimulator = SimulatorEndpoint.IsConnectionStringValid(connection);

            UseSimulator.Checked = useSimulator;
            CommPortName.Enabled = !useSimulator;
            var currentSelection = Settings.Default.CommPortName;
            var ports            = new SortedSet <string>(SerialPort.GetPortNames());

            if (!ports.Contains(currentSelection))
            {
                ports.Add(currentSelection);
            }
            CommPortName.Items.Clear();
            CommPortName.Items.AddRange(ports.ToArray());
            var currentIndex = CommPortName.Items.IndexOf(currentSelection);

            CommPortName.SelectedIndex = currentIndex;
        }