Исключение удаленного объекта при закрытии Windows Форма - PullRequest
0 голосов
/ 17 июня 2020

Я новичок в Visual Studio, и я пытался получить последовательные данные от Arduino. Я использовал обработчик SerialPort_DataReceived, чтобы сохранить полученные данные в строку и отобразить ее с помощью метки. Arduino постоянно отправляет данные в Visual Studio, и я не могу это остановить. Я хочу принудительно закрыть приложение, даже если Arduino отправляет данные. Но приложение зависает при попытке закрыть говоря Exception Unhandled - ObjectDisposedException. Я пробовал использовать catch(ObjectDisposedException) и ничего не вернул, но форма windows все равно зависает при закрытии.

Вот мой код:

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    try
    {
        datain = serialPort1.ReadLine();
        this.Invoke(new EventHandler(showData));
    }
    catch(ObjectDisposedException)
    {
        return ;
    }
}

private void showData(object sender, EventArgs e)
{
    label1.Text = datain;
}
...