Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310

Зависание приложения при работе приложения

16.02.2018, 10:01. Показов 3593. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет ребят. Подскажите, пожалуйста, имею в форме кнопку, при нажатии которой начинает работать функция, и приложение полностью зависает, пока вычисляется функция. Как можно сделать, чтобы она так не зависала и если то можно было бы отменить выполнение функции?
C#
1
2
3
4
void button1_Click(object sender, EventArgs e)
{
    function();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2018, 10:01
Ответы с готовыми решениями:

Зависание приложения при подключении другого приложения к нему
Написал сервер и клиент на консоли, все работает. На windows forms появляется проблема. private void bttnBeginConnection_Click(object...

Зависание оконного приложения при прослушке порта
private void button1_Click(object sender, EventArgs e) { TcpListener listner = new TcpListener(new...

Не выключается Windows XP при работе приложения в трее
Создал приложение которое напоминает приближение сроков исполнения. Программа работает в трее. В 9 и 11 часов утра приложение...

9
6 / 7 / 3
Регистрация: 24.05.2017
Сообщений: 10
16.02.2018, 10:05
Ты бы хотя-бы функции кинул, а то хз, что ты там наделал.
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
16.02.2018, 10:07  [ТС]
Цитата Сообщение от Trell Посмотреть сообщение
Ты бы хотя-бы функции кинул, а то хз, что ты там наделал.
там очень много кода)не хотел путать вас тут, это очень важно, просто сама там функция правильная, если там маленькое число, то быстро работает, если большое, то долго, вот и хотел узнать, как если что можно отменить выполнение функции
0
Эксперт .NET
 Аватар для Rius
13092 / 7651 / 1672
Регистрация: 25.05.2015
Сообщений: 23,293
Записей в блоге: 14
16.02.2018, 10:08
Андей, узнайте про потоки. Потом реализуйте выполнение долгой функции в потоке.
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
16.02.2018, 10:11  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
узнайте про потоки
спасибо за совет, это сложно делается?)
0
Эксперт .NET
 Аватар для Rius
13092 / 7651 / 1672
Регистрация: 25.05.2015
Сообщений: 23,293
Записей в блоге: 14
16.02.2018, 10:16
Всё относительно.
На форуме сотни примеров. Поиск по Task (если .Net >= 4.0) или Thread (если < 4.0).
Описано в первой же книге Литература по C# для начинающих и не только, главы 23-24.
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
16.02.2018, 10:44  [ТС]
Как я понял, функция, запущенная через поток, должна быть void, как быть, если мне надо возвращаться значение из этой функции?
0
6 / 7 / 3
Регистрация: 24.05.2017
Сообщений: 10
16.02.2018, 10:46
Сделай параметер функции, который надо возращать сыллочним.
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
16.02.2018, 10:49
Андей, почитай в сторону BackgroundWorker для WinForms там можно после завершения вернуть свои данные
0
Эксперт .NET
 Аватар для Rius
13092 / 7651 / 1672
Регистрация: 25.05.2015
Сообщений: 23,293
Записей в блоге: 14
16.02.2018, 10:50
Андей, не должна (запустить можно по разному), и есть разные способы возврата. Что-то лучше, что-то хуже подходит к конкретной ситуации. Изучите и проверьте обе главы книги.
BackgroundWorker тоже не панацея.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.02.2018, 10:50
Помогаю со студенческими работами здесь

Зависание приложения
Всем привет. Возникла необходимость написать упрявляющюю программу, через протокол IRC В рунете нашел кусочек кода от бота немного его...

Зависание программы при работе метода DownloadString
Когда впервые в программе вызывается метод DownloadString, программа виснет на секунд пять, а потом отвисает и продолжает работать. Причем...

Почему зависает форма при работе консольного приложения?
Есть консольное приложение using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Как выводить отладочную информацию при работе приложения, как это делает VS
Здраствуйте, нужна помощь. Я делаю диплом - криптосистему и мне предложил мой руководитель дипл. проекта сделать обучающую справку по моей...

Как предотвратить зависание приложения во время коннекта и выполнения запроса в БД
Как лучше всего сделать что бы приложение не зависало во время выполнения запроса? Например есть некий коннект к ораклу и функция,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru