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

Не работает кнопка

21.05.2015, 23:03. Показов 644. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кнопка запускает и останавливает метод с бесконечным циклом, в котором для задержки используется System.Threading.Thread.Sleep. И после команды вызова метода все дальнейшие команды в кнопке игнорятся, точнее сказать выполняются уже после остановки цикла.
Кнопка:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        private void button3_Click(object sender, EventArgs e)
        {
            if (animate)
            {
                animate = false;
            }
            else
            {
                animate = true;
                StartAnimate();
                ///////// Дальше команды не работают /////////
            }
        }
        }
Метод:
C#
1
2
3
4
5
6
7
8
9
        public void StartAnimate()
        {
            while (animate)
            {
                ...
                System.Threading.Thread.Sleep(2);
                Application.DoEvents();
            }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2015, 23:03
Ответы с готовыми решениями:

Не работает кнопка Ctrl + левая кнопка мыши в Excel
Не работает кнопка ctrl + левая кнопка мыши в excel.Не выделяются ячейки.Хотя на рабочем столе или...

Не работает кнопка "ответить" в комментариях. + не работает AJAX обновление при добавление комментария
Проблемы эти начались после обновления движка с 9.8 до 10.5. Все загрузил, все поставил, шаблон...

Калькулятор. Кнопка "+" работает как кнопка "=", а не должна
Суть проблемы в том что кнопка "+" работает по принципу "=", то есть мы будем нажимать 5+5+++++, в...

не работает кнопка
Почему при нажатии на кнопку ничего не происходит Раньше работало( теперь перестало import...

8
464 / 341 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
21.05.2015, 23:43 2
А как вы представляете себе работу кнопки, если поток выполнения бесконечно крутится в её обработчике события?

Добавлено через 58 секунд
Вы, как-то, не с той стороны подошли к парадигме программирования форточек
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
22.05.2015, 00:10 3
Чтобы кнопка работала при выполнении длительной операции, нужно эту операцию в отдельном потоке запускать.
Есть несколько способов реализации многопоточности.
Можно создать поток с использованием класса Thread.
В WF есть такой компонент, как BackgroundWorker.
0
464 / 341 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
22.05.2015, 01:09 4
Даценд, BackgroundWorker можно использовать где угодно, а не только в WF, если он Вам удобен.
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
22.05.2015, 01:18 5
body90, а в Console Application можно? Только речь здесь именно о WF идет.
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 31
22.05.2015, 02:29  [ТС] 6
Действительно, помог BackgroundWorker. Правда не сразу понял, как работает Invoke для доступа к объектам в чужом потоке.
0
464 / 341 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
22.05.2015, 04:56 7
Даценд, почему может быть нельзя? Конечно можно.

Добавлено через 4 минуты
pikelson, а зачем Вам Invoke понадобился? Вам же только стартовать и убивать поток нужно.
1
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
22.05.2015, 07:42 8
body90, спасибо, не знал
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 31
22.05.2015, 14:25  [ТС] 9
Метод находится в другом классе, и он изменяет параметры формы.
0
22.05.2015, 14:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2015, 14:25
Помогаю со студенческими работами здесь

Не работает кнопка
Ребята, доброго вечера! Помогите пожалуйста! Я лабу пишу на java, раньше только с с++ дело имела....

Не работает кнопка
Не работает кнопка, не могу перейти на другую форму, может кто сталкивался, может это глюк Access...

НЕ работает Кнопка
Я много нашел таких тем, облазил форум (может пропустил какой-то), но мувик молчит вполную. Сначало...

Не работает кнопка
Решил поменять такой код : public class MainActivity extends Activity implements...


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

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