예제 #1
0
        private void buttonSettings_Click(object sender, EventArgs e)
        {
            if (serialPortUART.IsOpen)
            {
                serialPortUART.Close();
            }
            FormSettings formSettings = new FormSettings();

            formSettings.ShowDialog();                                        // Отображение окна для настройки последовательного порта
            serialPortUART = SerialPortSettings.ReadSettings(serialPortUART); // Применение новых настроек
            try
            {
                serialPortUART.Open();
            }
            catch (System.IO.IOException ex)
            {
                richTextBoxMainOut.AppendText("Невозможно открыть последовательный порт: " + ex.Message + Environment.NewLine);
            }
        }
예제 #2
0
        /// <summary>
        /// Обработчик нажатия кнопки "Настройки"
        /// </summary>
        /// <param name="sender">Отправитель события</param>
        /// <param name="e">>Аргументы события</param>
        private void buttonSettings_Click(object sender, EventArgs e)
        {
            // Проверка открыт ли порт
            if (serialPortUART.IsOpen)
            {
                serialPortUART.Close();                // Закрытие порта если он открыт
                buttonOpenClose.Text = "Закрыть порт"; // Если порт открыт выводим на кнопке надпись о закрытии порта
            }

            FormSettings formSettings = new FormSettings();                   // Создание нового экземпляра окна настроек

            formSettings.ShowDialog();                                        // Отображение окна для настройки последовательного порта
            serialPortUART = SerialPortSettings.ReadSettings(serialPortUART); // Применение новых настроек
            try
            {
                serialPortUART.Open(); // Попытка открытия последовательного порта с новыми настройками
                richTextBoxMainOut.AppendText(DateTime.Now.ToString("G") +
                                              ": Центральный узел подключен, узел расположен на порту " +
                                              serialPortUART.PortName + Environment.NewLine); // Вывод в лог сообщения с указанием текущей даты и времени
                richTextBoxMainOut.SelectionStart = richTextBoxMainOut.Text.Length;           // Перенос каретки в конец текста
                richTextBoxMainOut.ScrollToCaret();                                           // Прокрутка текстового поля к каретке
            }
            catch (Exception ex)
            {
                richTextBoxMainOut.AppendText(DateTime.Now.ToString("G") +
                                              ": Невозможно открыть последовательный порт: " + ex.Message +
                                              Environment.NewLine);                 // Вывод в лог сообщения с указанием текущей даты и времени
                richTextBoxMainOut.SelectionStart = richTextBoxMainOut.Text.Length; // Перенос каретки в конец текста
                richTextBoxMainOut.ScrollToCaret();                                 // Прокрутка текстового поля к каретке
            }

            // Проверяем открыт ли последовательный порт и необходимо ли изменить надпись на кнопке
            if (serialPortUART.IsOpen && buttonOpenClose.Text.Equals("Открыть порт"))
            {
                buttonOpenClose.Text = "Закрыть порт"; // Если порт открыт выводим на кнопке надпись о закрытии порта
            }
            else if (!serialPortUART.IsOpen && buttonOpenClose.Text.Equals("Закрыть порт"))
            {
                buttonOpenClose.Text = "Открыть порт"; // Если порт закрыт выводим на кнопке надпись об открытии порта
            }
        }