Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 2
Регистрация: 14.09.2014
Сообщений: 123
1

Завершение потоков при закрытии формы

14.01.2016, 12:15. Показов 5056. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я щелкаю на закрыть окно, а программа не выходит из Debug. Я понял, что я запускаю потоки, но не выхожу из них. То есть надо после старта добавить условие

C#
1
2
3
Thread t = new Thread(new ThreadStart(DoubThread));
t.Start();
if(Form.Close) {t.Abort}
Вопрос, как конкретно я могу написать это условие "Form.Close"? Как отловить момент закрытия окна?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2016, 12:15
Ответы с готовыми решениями:

Завершение работы приложения при закрытии формы
Всем добрый день! У меня такая проблема, в методе одного класса мне надо открыть созданную форму...

Завершение процесса при закрытии дочерней формы
Много разных способов в интернете и мало толковых разъяснений. Подскажите как осуществить сие...

Завершение задач при закрытии дочерней формы
Что мы имеем. - дочерняя форма программы. - мой класс, в котором реализована работа с Task-ами...

Завершение потоков, после закрытия формы
После закрытия формы в процессах продолжает висеть процесс. Я так понимаю вот этот поток не...

4
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
14.01.2016, 12:26 2
C#
1
2
3
4
5
6
7
8
9
 private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
 
        }
 
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
 
        }
Добавлено через 43 секунды
MSDN подскажет вам когда какое вызывается.
1
6 / 6 / 10
Регистрация: 12.01.2016
Сообщений: 20
14.01.2016, 13:15 3
Лучший ответ Сообщение было отмечено lennen как решение

Решение

Сделай поток фоновым, при завершении основного потока - вторичный будет завершен
C#
1
2
3
Thread t = new Thread(new ThreadStart(DoubThread));
 t.IsBackground = true;               
t.Start();
0
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
14.01.2016, 13:52 4
Лучший ответ Сообщение было отмечено lennen как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
public Form()
        {
            InitializeComponent();
            Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
        }
 
        private void OnApplicationExit(object sender, EventArgs e)
        {
            поток.Abort();
        }
это больше подойдет, чем событие закрытия формы
1
0 / 0 / 2
Регистрация: 14.09.2014
Сообщений: 123
14.01.2016, 15:59  [ТС] 5
Спасибо, спасли!!!
0
14.01.2016, 15:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2016, 15:59
Помогаю со студенческими работами здесь

Как выполнить код в закрытии формы при ее принудительном закрытии?
Привет всем) Суть вопроса такова: есть форма, и при её закрытии нужно выполнить код. Если закрывать...

Не получается при закрытии формы 2 изменить текст label формы 1
Форма 1: private void Btn_Open_Form2_Click(object sender, EventArgs e) { ...

пролема при закрытии формы
есть форма в приложении, в ней можно поменять пароль. из этой формы при нажатии кнопки открывается...

Событие при закрытии формы
Здравствуйте! Подскажите как сделать какую либо функцию при закрытии формы, например чтоб...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru