powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как прикончить поток при закрытии форму?
5 сообщений из 5, страница 1 из 1
Как прикончить поток при закрытии форму?
    #38111425
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять как мне правильно убить потоки при закрытии формы? Я закрываю ее, но они функционируют
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
Вызов потока
   private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(getData);
            t.Start();
            //  t.Join();    // ожидать, пока поток не завершится
          
        }



Вызов отрисовки:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public void getData(){
...............
                                if (this != null)
                                {
                                    if (this.InvokeRequired)
                                    {
                                        this.Invoke((MethodInvoker)delegate
                                        {
                                            label11.Text = i.ToString();
                                            label5.Text = k++.ToString();
                                            label7.Text = itemID; // runs on UI thread
                                            // Debug.WriteLine(i.ToString());
                                        });
                                    }
                                }
................
}



Высвобождение потоков:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (t != null)
            {
                if (t.IsAlive)
                {
                    t.Abort();
                    t.Join();
                }
            }
        }
...
Рейтинг: 0 / 0
Как прикончить поток при закрытии форму?
    #38111485
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тупо в лоб, дай повисеть форме при закрытии
...
Рейтинг: 0 / 0
Как прикончить поток при закрытии форму?
    #38111486
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще что в потоке, если там цикл, то лучше исп переменную цикла и для окончания потока ее в false
...
Рейтинг: 0 / 0
Как прикончить поток при закрытии форму?
    #38111548
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! В потоке foreach. Как я понял, то надо проверять в нем флаг
...
Рейтинг: 0 / 0
Как прикончить поток при закрытии форму?
    #38111620
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobonickСпасибо! В потоке foreach. Как я понял, то надо проверять в нем флагНу да.
По "Дать повисеть" я имел ввиду в ..._FormClosing(... вставить типа System.Threading.Thread.Sleep(1000); после "закрытия потоков"
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как прикончить поток при закрытии форму?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]