|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
|
Работа с формами и потоками08.01.2021, 16:56. Показов 4227. Ответов 37
Метки нет (Все метки)
Насколько я понимаю приложения Windows.Forms есть какой-то поток, в котором постоянно находятся активные формы и поддерживаются.
Чтобы создать новую форму придется использовать ТОЛЬКО этот поток? Или возможно будет в других потоках? Просто при попытке создать форму в созданном завершающемся потоке она закрывается по его завершении. Если усыпить Thread.Sleep форма зависает. Каким образом можно создать второй такой поток? Или все формы нужно распологать глобальной переменной статик в корне первой формы... Я не понимаю... Может кто объяснить?
0
|
|
| 08.01.2021, 16:56 | |
|
Ответы с готовыми решениями:
37
Работа с потоками. Работа с потоками
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 08.01.2021, 17:52 | |
|
Для начала почитайте букварь https://docs.microsoft.com/ru-... -threading
0
|
|
|
Администратор
|
||||||
| 08.01.2021, 23:12 | ||||||
|
0
|
||||||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
|||||||||||||
| 09.01.2021, 21:49 [ТС] | |||||||||||||
|
Попытаюсь в главном потоке создать список с сотней форм, и далее ссылаться на них, но боюсь получится еще хуже. Через 2 минуты выскакивает ошибка на строку
Кликните здесь для просмотра всего текста
System.InvalidOperationException: "Недопустимая операция в нескольких потоках: попытка доступа к элементу управления '' не из того потока, в котором он был создан."
Данные в формах из сторонних потоков меняю так:
0
|
|||||||||||||
|
|
|
| 09.01.2021, 21:57 | |
Сообщение было отмечено koc94ok как решение
Решение
koc94ok, почитайте тему Форма появляется и зависает с колесиком загрузки навечно подвешивая платформу
Раз вам такое надо, что-то у вас с архитектурой не задалось..
1
|
|
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
||||||
| 09.01.2021, 21:58 [ТС] | ||||||
|
Создаю формы вот так:
0
|
||||||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
|||||||||||||||||||||
| 09.01.2021, 22:51 [ТС] | |||||||||||||||||||||
|
Rius,
Я уже слишком запутался в том что имеется у меня и проще создать "архитектуру" заново. Смотрите: У меня есть от 1 до 10 потоков WORKER, которые работают с данными.
Если данный поток завершится то соответствующий ему обработчик данных форм также можно утилизовать.
Вот так выглядит создание форм:
По итогам написанного: У нас есть поток с данными, нужно где-то создать форму привязанную к этому потоку и пуллить в неё данные. Поможете сделать это на базе пустого приложения, иммитирующего данные процессы? Добавлено через 28 минут Rius, Вот как сейчас обстоят дела.
0
|
|||||||||||||||||||||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
|
| 09.01.2021, 22:58 [ТС] | |
|
Файлы
0
|
|
|
Администратор
|
||||
| 09.01.2021, 23:24 | ||||
|
Добавлено через 2 минуты koc94ok, код увидел уже после ответа. Какую задачу вы пытаетесь решить?
0
|
||||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
||||||||||||
| 10.01.2021, 01:48 [ТС] | ||||||||||||
|
В данный момент пробую пристроить решение из темы пользователя Rius. Добавлено через 2 часа 16 минут Rius, Увы, но все тоже самое. Одна форма работает как часы, стоит добавить вторую и получаем:
0
|
||||||||||||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
||||||
| 10.01.2021, 11:59 [ТС] | ||||||
|
Rius, Спасибо, сейчас буду разбирать Ваш пример. Сразу вопрос в лоб:
0
|
||||||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
||||||
| 10.01.2021, 14:03 [ТС] | ||||||
|
Rius, Переписал код, пока все работает... тьфу тьфу тьфу...
И наверное уже совсем оффтоп вопрос: я создал подсказки TOOLTIP,но они показываются только если форма в "Фокусе", можно ли как-то сделать чтобы они показывались без фокуса формы?
0
|
||||||
|
|
||
| 10.01.2021, 14:07 | ||
|
Чтобы не искать каждый раз - найти один раз и сохранить ссылки в поля/переменные.
А лучше сделать кастомные контролы, если они все одинаковы. Почему не DataGridView? Добавлено через 1 минуту
0
|
||
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
|||
| 10.01.2021, 14:12 [ТС] | |||
|
0
|
|||
|
|
|
| 10.01.2021, 14:16 | |
|
Не по координатам, а по столбцам/строкам возможно.
А то вы сделали 600 контролов, а потом почему-то жалуетесь, что UI тормозит... Можно активировать форму при наведении мыши. И вот это попробуйте: ToolTip.ShowAlways Property
1
|
|
|
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
|
|||||||
| 10.01.2021, 15:33 [ТС] | |||||||
0
|
|||||||
|
|
|
| 10.01.2021, 15:37 | |
|
Сколько нужно столбцов и сколько строк?
0
|
|
| 10.01.2021, 15:37 | |
|
Помогаю со студенческими работами здесь
20
работа с потоками Работа с потоками
Работа с потоками в Qt Работа с потоками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|