C #: правильный способ закрыть SerialPort с Winforms

У меня есть приложение, где я читаю из последовательного порта, все идет хорошо, пока я не закрою приложение. Когда я нажимаю [X], приложение просто зависает, пользовательский интерфейс: не отвечает.

Я читаю из порта в обработчике событий DataReceived и закрываю порт, когда происходит FormClosed:

    private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
    {
        mySerialPort.Close();
    }

Ответы на вопрос(4)

Ваш ответ на вопрос