|
1 / 1 / 0
Регистрация: 16.02.2024
Сообщений: 8
|
||||||
Динамический вывод значения переменной16.07.2025, 13:22. Показов 3112. Ответов 36
Метки нет (Все метки)
Добрый день!
Есть форма, на ней строка состояния с меткой. Как сделать, чтобы в статусе динамически отображалось переменная? Вот код. Прогресс меняется, а метка всегда = 0 в цикле.
0
|
||||||
| 16.07.2025, 13:22 | |
|
Ответы с готовыми решениями:
36
|
| 17.07.2025, 13:11 | ||
|
Не по теме:
0
|
||
|
|
||||||||
| 17.07.2025, 14:04 | ||||||||
|
А вот тут вы ничего не ожидаете
0
|
||||||||
| 17.07.2025, 15:35 | ||||||||||||
|
Не по теме:
await Nya(); сделать await Task.Run(Nya); -- то всё выполнение улетает в различные потоки из пула, и при обращении к UI элементам получаешь по ушам тапком в рантайме.Плюс отмечу что Delay не выполняется в отдельном потоке. Это прерывание выполнения, что ближе к различным внешним запросам ради которых обычно и влезают в асинхронность. Чекнуть это относительно легко
0
|
||||||||||||
|
|
||||
| 17.07.2025, 15:51 | ||||
|
Добавлено через 2 минуты
0
|
||||
| 17.07.2025, 16:53 | ||
|
Не по теме:
- в консольном приложении вызов кода после await будет обрабатываться в случайном потоке из пула - в UI приложении код будет продолжаться работать именно в UI потоке. - вызов метода в обоих случаях идентичен. Понятно что это все сделано намерено, понятны причины, понятно как с этим работать. Не совсем понимаю реализацию. Просто пометить поток как STA такого эффекта не даст. Т.е. что-то отличается прям в окружении, причём как я понимаю именно в самом коде обработки всяких OnClick в контролах.
0
|
||
|
|
|||
| 17.07.2025, 17:34 | |||
|
Я про то что все обработчики событий в UI (WF, WPF) void. И для того чтобы запустить асинхронный метод внутри этого метода делают async void, но это, для вызывающего кода, в нашем случае UI, тоже самое как вызвать простой синхронный метод. Вот потому всё что в методе не await выполняется синхронно, в потоке UI. В документации MS пишут что все асинхронные методы должны возвращать Task, исключение составляют обработчики событий элементов UI. Вот такие пироги с котятами...Хотите реальную асинхронную обработку нажатий кнопок в UI - используйте WPF и AsyncRelayCommand() из пакета CommunityToolkit. Там вам будет и Task, и потоки, и блокировка кнопки на время выполнения, и отмена выполнения команды, и все остальные прелести Task. Добавлено через 4 минуты
0
|
|||
| 17.07.2025, 17:56 | |
|
Не по теме: Andrey-MSK, если вы в консольном приложении добавите свой класс, который будет иметь event, сделаете на него подписку и вызовите в нём async метод, то он будет вести себя ровно также, как я говорил выше -- брать свободный поток и выполнять код после await в нём.
0
|
|
|
|
|
| 18.07.2025, 08:38 | |
|
0
|
|
| 18.07.2025, 09:05 | |
|
0
|
|
|
|
|
| 18.07.2025, 09:15 | |
|
Wolfdp, Я же в ответах говорил про UI и обработчики событий.
0
|
|
|
1485 / 939 / 455
Регистрация: 06.02.2012
Сообщений: 2,870
|
|
| 23.07.2025, 01:24 | |
|
Andrey-MSK,
Честно скажу, сколько лет с C# но с потоками я на Вы. Вроде все понятно, но в тоже время, сижу как баран на новые ворота смотрю. Может кто пояснит на пальцах как с ссссска с ними работать . Кто что читал интересное?
0
|
|
|
|
|
| 23.07.2025, 05:22 | |
|
Kazbek17, Литература по C# для начинающих и не только , Шилдт, главы 22-23.
1
|
|
|
|
|
| 23.07.2025, 08:33 | |
|
Kazbek17, Джозеф Албахари: C#12 (или более новый, структура книг одинаковая) Справочник. Главы 14, 15.
1
|
|
|
|
|
| 23.07.2025, 14:39 | |
|
Kazbek17, Вообще вся эта бодяга с асинхронностью хорошо вписывается в UI, иногда даже кажется что это было специально для таких приложений и придумано. Попробуйте написать богатое приложение с базами данных, которое не будет замирать при чтении/записи в БД, или что-то будет долго считать, отображая прогресс чего-то там где-то там, и все эти async/await практически сразу поймёте
1
|
|
|
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
|
|
| 25.07.2025, 18:37 | |
|
Это сложно, а представь у него будет 1 000 строк стояний которые будут меняться? И ему придется писать 1000 обработчиков событий? Мне думается лучше реализовать класс, который будет отслеживать и визуализировать процессы выполнения приложения. Можно набросать план на худой конец...
Объект который содержит метод, или группу методов полем + объекты интерфеса которые отображают состояние. Внутренности тут уже творческая состовляющая как захочется. Долго, сложно но расширяемо и бесперебойно. Если это у него такая учебная задача то система обучения хромает, на кой черт взять вырезать из общей концепции ООП одну фишку и заставить её лепить из комна и палок. Если он сам пытается что-то написать, какой-то лаунчер или игрушку то такой костыль как у него сойдет =)
0
|
|
| 25.07.2025, 18:37 | |
|
Вывод значения локальной переменной в TextBox Вывод имени переменной, а не ее значения Вывод значения переменной, занимающей определенное количество символов, в консоли Вывод на экран значения переменной j после окончания цикла Вывод значения переменной за пределы функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|