Перед закрытием формы вы можете уведомить ветку о том, что она собирается быть отмененной. Например, если вы используете BackgroundWorker
для своего потока, вы можете вызвать метод CancelAsync .
Обновление
Для поддержки этого при использовании класса Thread
вы можете либо вызвать Abort (что не рекомендуется), либо вы можете использовать общую переменную. По сути, вы можете иметь логическое значение isCancelled
, которое поток периодически проверяет - и, если оно ложно, поток возвращает. Затем вы можете установить это логическое значение из потока пользовательского интерфейса, чтобы дать сигнал фоновому потоку остановиться. Вам также необходимо убедиться, что вы правильно lock
логическое значение, прежде чем получить к нему доступ из любого потока.
Есть и другие методы, которые вы можете использовать - если вы опубликуете свой код темы, мы можем помочь вам в этом.