powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / из одной формы в другую
10 сообщений из 35, страница 2 из 2
из одной формы в другую
    #32617562
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем Doevents? Я же говорю :this.Refresh();
Сам только что проверял. Прогресс чудно выводится.

Magnus
...
Рейтинг: 0 / 0
из одной формы в другую
    #32617633
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23А зачем Doevents? Я же говорю :this.Refresh();
Сам только что проверял. Прогресс чудно выводится.

Magnus

Вопервых совсем не чудно, а мелькает как сумашедший.
Во вторых дочерняя форма (форма2) виснит на время работы цикла.
...
Рейтинг: 0 / 0
из одной формы в другую
    #32617712
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мелькает? Так его что замедлить нужно? :)
Виснет оно и понятно. А что ты хочешь делать в это время? Если нужно разрешить еще какие то операции, то в принципе верным методом было бы, для этой долгой отстраненной процедуры, открыть отдельный тред и пусть в нем крутится. О завершении отрапортует событием.

Magnus
...
Рейтинг: 0 / 0
из одной формы в другую
    #32617828
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внесу свои три копейки в общее дело :-)

1) refresh не нужен, будет сильно страдать производительность такого цикла, и как правильно заметил M234 форма 2 не будет принимать события во время цикла, и не хороший эффект напрочь убьет у пользователя желания запускать этот процесс следующий раз

2) можно обойдись и без multithreading

3) Обязательна должна быть возможность остановить длинный цикл, по крайне мере я всегда в начале нажимаю кнопку, а потом соображаю что запустил что то нехорошее, в общем "защита от дурака". Таким образом должна появиться кнопка "ОТМЕНИТЬ" на форме 2 .

Поэтому без System.Windows.Forms.Application.DoEvents не обойтись
M234
Если в форме2 в цикле стоит DoEvents(), то окно ведёт себя как самостоятельное и фокус гуляет где хочет в том числе можно и на форму1 уйти. А ведь по идее нельзя! ( f2.ShowDialog(); )

Я думаю надо дать форме нормально активироваться и запускать в Form2_Activated не длинный процесс work() , а таймер который срабатывает например через 0.1 секунду, запуская work и отрубая себя навсегда.
Тогда проблема должна быть решена: у нас будет модальная форма, возможность отменить длинный цикл, и сам выполняющийся длинный цикл.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
из одной формы в другую
    #32617987
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SaЯ думаю надо дать форме нормально активироваться и запускать в Form2_Activated не длинный процесс work() , а таймер который срабатывает например через 0.1 секунду, запуская work и отрубая себя навсегда.
Тогда проблема должна быть решена: у нас будет модальная форма, возможность отменить длинный цикл, и сам выполняющийся длинный цикл.

Код: plaintext
 uid  =  S a

Уважаемый Sa, код с таймером пожалуйста в студию !
...
Рейтинг: 0 / 0
из одной формы в другую
    #32617998
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну там же все вроде как тривиально, ладно сейчас накатаю.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
из одной формы в другую
    #32618017
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SaНу там же все вроде как тривиально, ладно сейчас накатаю.

Код: plaintext
 uid  =  S a

Да просто никогда с таймером не игрался, а в данный момент времени нет,
хотелось бы просто увидить примерчик, на всякий случай.
А случаи они же разные бывають :)
...
Рейтинг: 0 / 0
из одной формы в другую
    #32618031
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См. прикрепленный файл.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
из одной формы в другую
    #32618252
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, это то, что надо.
...
Рейтинг: 0 / 0
из одной формы в другую
    #32618448
wait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем кто ответил.Все получилось + почерпнул много интересного.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / из одной формы в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]