-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508

Выполнять ряд действий, пока окно не закрыто. Как это сделать?

03.11.2018, 18:37. Показов 6355. Ответов 69
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
В моей программе будет блок действий, которые необходимо выполнять с задержкой до того момента, пока окно не будет закрыто.
Как это сделать? Для примера будем с задержкой в одну секунду увеличивать переменную на 1, которая изначально равна 0, а когда закроем окно - результат запишется в файл.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2018, 18:37
Ответы с готовыми решениями:

Как сделать, так, чтобы ряд действий в программе выполнялся до тех пор, пока пользователь не нажмёт на крестик
Как сделать, так, чтобы ряд действий в программе выполнялся до тех пор, пока пользователь не нажмёт на крестик? Я работаю в программе...

Выполнение каких-либо действий в цикле, пока приложение не будет закрыто
Возник вопрос с зацикливанием программы. Знаю что вопрос глупый (т.к. VB.NET пошагово все инструкции выполняет), но вопрос остается...

Можно ли запретить юзеру возвращаться из окна (window.open) в родительское окно, пока не оно не будет закрыто?
У меня раньше был код, где открывалось окно (window.open). В этом окне при нажатии на кнопочку данные сабмитились в родительское окно. ...

69
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 21:18  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Элд Хасп Посмотреть сообщение
А почему у Вас win4_1 ? Пишите просто win4 - у Вас же в этом методе больше не будет ссылок на окно.
Изменил на win4, но ошибку это, к сожалению, не уберет
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 21:19
Исправили?

Добавлено через 28 секунд
Цитата Сообщение от Imperion Посмотреть сообщение
Изменил на win4, но ошибку это, к сожалению, не уберет
Это не уберёт.
Где сейчас ошибка?

Добавлено через 25 секунд
TeamViewer есть?
1
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 21:22  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
TeamViewer есть?
Неа, нету
Ошибка как в предпоследнем посте на предыдущей странице
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 21:27
Цитата Сообщение от Imperion Посмотреть сообщение
Ошибка как в предпоследнем посте на предыдущей странице
Блин! Это из-за разных потоков в таймере и у элементов.
Это надо сидеть и переделывать - так с просто не смогу сказать.
Я таким образом приложения не собираю - поэтому с такой ошибкой не сталкивался.
Надо собирать приложение подобное Вашему и проверять.
1
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 21:31  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Блин! Это из-за разных потоков в таймере и у элементов.
Это надо сидеть и переделывать - так с просто не смогу сказать.
Я таким образом приложения не собираю - поэтому с такой ошибкой не сталкивался.
Надо собирать приложение подобное Вашему и проверять.
А можно как-то переделать приложение, но "малой кровью"?
Чтобы не все под ноль писать заново
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 21:38
А что у Вас в приложении?
1
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 21:40  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
А что у Вас в приложении?
В каком смысле?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 21:42
Много кода?
Посмотрите в теме Как передать значение Slider с формы 2 на форму 1?
Там есть таймер который выводит информацию в элементы окна.
Если делать правильно, то делать надо как в последнем посте.
1
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 21:47  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Много кода?
Всего 4 формы:
- авторизация
- настройки
- вывод окна с диалогами (всего 8 избранных диалогов)
- окно с историей сообщений с одним из 8 избранных пользователей

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Посмотрите в теме Как передать значение Slider с формы 2 на форму 1?
Там есть таймер который выводит информацию в элементы окна.
Если делать правильно, то делать надо как в последнем посте.
Спасибо большое! Попробую реализовать.
Вы очень сильно помогли!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 21:51
Цитата Сообщение от Imperion Посмотреть сообщение
Спасибо большое! Попробую реализовать.
Вы очень сильно помогли!
Могу посмотреть целиком Ваше приложение. Если есть желание - поставьте TeamViewer через состыкуемся.
0
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 21:54  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Могу посмотреть целиком Ваше приложение. Если есть желание - поставьте TeamViewer через состыкуемся.
Там в кодах других окон черт ногу сломит) Я писал это все сильно на скорую руку
Это приложение вообще мой самый первый опыт C#+WPF+vk net
Попробую дальше самостоятельно разобраться
Вы и так мне очень сильно помогли, за что Вам огромное спасибо!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 21:58
НУ, у Вас приложение - 4 окна. Vk - я сам замучаюсь в нём разбираться. Хотите чтобы посмотрел ставьте TeamViewer

Добавлено через 1 минуту
Цитата Сообщение от Imperion Посмотреть сообщение
Там в кодах других окон черт ногу сломит
Вам другие окна зачем? Вам оттуда нужна только связь Model-ViewModel-View. Как данные (цвет) попадают от таймера в окно.
0
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 22:08  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вам другие окна зачем? Вам оттуда нужна только связь Model-ViewModel-View. Как данные (цвет) попадают от таймера в окно.
Приложение идет последовательно. Сначала авторизуемся - затем настраиваемся (эти два окна можно слить в одно, если знать как. В Qt Creator есть для этого слайдер, который можно поместить на форму. В WPF я не знаю, есть ли такая штука), но дальше уже идут нестандартные окна и с ними отдельная работа идет
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 22:11
Цитата Сообщение от Imperion Посмотреть сообщение
В Qt Creator есть для этого слайдер, который можно поместить на форму. В WPF я не знаю
Так Вы в чём пишите?
0
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 22:12  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Так Вы в чём пишите?
Visual Studio 2017
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 22:19
А причём здесь Qt Creator?

Добавлено через 2 минуты
Попробуйте использовать вместо Timer класс DispatcherTimer - он по моему в одном потоке с UI элементами работает.

Добавлено через 50 секунд
https://metanit.com/sharp/uwp/4.11.php
0
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
03.11.2018, 22:20  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
А причём здесь Qt Creator?
Я говорю, что в Qt Creator можно на одной форме сделать несколько страниц при помощи соответствующего виджета и передавать данные уже не между формами, а между страницами
Это вроде попроще. А в VS я не знаю, есть ли такое

Добавлено через 53 секунды
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Попробуйте использовать вместо Timer класс DispatcherTimer - он по моему в одном потоке с UI элементами работает.
Добавлено через 50 секунд
https://metanit.com/sharp/uwp/4.11.php
Хорошо, сейчас пробну
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 22:21
Цитата "Класс DispatcherTimer из пространства имен System.Windows.Threading применяется в WPF-приложениях и выполняется в рамках потока пользовательского интерфейса."
https://professorweb.ru/my/csh... 1/1_15.php
1
177 / 151 / 31
Регистрация: 28.09.2018
Сообщений: 204
03.11.2018, 22:25
Imperion, на всякий случай: при подобном применении таймера важно не наступить на классические грабли с таймером, когда обработчик тика таймера работает дольше, чем период таймера. А в ситуации, когда по таймеру запрашиваются данные с интернета, в это влетаешь с 99,9% вероятностью...

Если данные грабли учтены, то сорри, не вникал в код...
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2892
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.11.2018, 22:27
Цитата Сообщение от Imperion Посмотреть сообщение
Я говорю, что в Qt Creator можно на одной форме сделать несколько страниц при помощи соответствующего виджета и передавать данные уже не между формами, а между страницами
Это вроде попроще. А в VS я не знаю, есть ли такое
Можно. Но прямой реализации нет. Лучше UserControl создать. Но в любом случае, WPF очень сильно завязана на паттерн MVVM. И использовать WPF вне этого паттерна - это создание проблем самому себе.

Добавлено через 1 минуту
Imperion, прислушайтесь к посту griffon88.
Лучше переделайте нормально в паттерне MVVM.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2018, 22:27

Выполнять приложение до тех пор, пока пользователь не закроет окно
Дана программа,что нужно сделать чтобы она выполнялась циклично выполнялась не один раз ,пока пользователь не закроет окно unit unit1; ...

Как не дать выбрать окно, пока запущено другое, например как это делает MessageBox
123

Как заблокировать вызов нового дочернего окна пока не закрыто предыдущее в MDI parent form
Привет ребятушки!!! Не подскажете, как заблокировать открытие дочернего окна в родительском, если одно уже открыто. Я имею ввиду...

div-ное окно!или я не знаю как это сделать(
Ребят как сделать,чтобы при переходе по закладкам правая часть формы менялась без перехода на другую странцу?т.е. как сделать чтобы всё...

Win API, как отследить было ли закрыто окно приложения.
Нахожу HWND приложения которое запущено, командой FindWindow. Через 10 секунд повторная процедура поиска выдаёт HWND = 0, то есть не может...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru