.NET 4.x Как прервать поток SerialPort? - C#
Формулировка задачи:
Здравствуйте. Разрабатываю программу для считывания информации по USB с внешних устройств.
Программа уже нормально считывает информацию, но есть одно НО: когда я нажимаю кнопку "Стоп", то вроде бы информация перестает появлятся перед пользователем в текстовом поле. Но дело в том, выводится в текст оно-то перестаёт, а вот сам поток данных по-прежнему принимает информацию.
Мне же надо остановить поток. Как это сделать?
SerialPort portData = new SerialPort("COM15", 57600); void portData_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { if (buttonStart.Text == "Стоп") { //Все нормально, пошёл поток информации, она выводится в richTextBox1 this.Invoke(new EventHandler(delegate { richTextBox1.Text += portData.ReadByte() + "\n"; })); } else { //А ВОТ ТУТ Я ХОЧУ СОВСЕМ ОСТАНОВИТЬ ПОТОК //но в данный момент здесь поток идет, просто выполняет пустой блок кода return; } } catch (Exception ex) { Console.WriteLine("Проблемы с DataRceived"); Console.WriteLine(ex.ToString()); } }
Решение задачи: «.NET 4.x Как прервать поток SerialPort?»
textual
Листинг программы
portData.DataReceived += portData_DataReceived;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д