Как развязать код формы и классов

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Как развязать код формы и классов

Сообщение insite2012 » 21.11.2013 (Чт) 12:30

Добрый день.
Имеется следующая проблема: основная форма, где обрабатываются события кнопок и т.п. По событиям работают отдельные классы. Я стараюсь сделать классы независимыми объектами, с тем чтобы в дальнейшем их можно было применитьть в каком-либо еще проекте или вообще убрать в отдельную dll. Все получилось, кроме одной проблемы, с которой пока застрял. В классах обрабатываются данные, а на форме есть прогрессбар, который должен показывать ход выполнения задачи. И мне никак не удается развязать форму и классы, поскольку в классах работают циклы, и прогрессбар должен отображать процесс выполнения. И все данные о прогрессбаре так же только в цикле (максимум, минимум, шаг). По данным понятно, можно вывести наружу через свойства, а вот по циклическому выполнению пока так и не пойму, как сделать. Может кто-то сталкивался с подобной задачей...
Dulce et decorum est pro patria mori

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.11.2013 (Чт) 12:40

Вместо обновления прогрессбара сделай собитие типа InProgress и кидай его с указанием каких-либо параметров. Ну а в форме подписываешься на это событие и обновляешь ProgressBar.

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Как развязать код формы и классов

Сообщение insite2012 » 21.11.2013 (Чт) 12:46

Ок, спасибо. То есть в классе создать событие типа Public, и по каждой итерации цикла вызывать это самое событие Raise Event, правильно? А в форме к этому событию привязать хендлер, в котором и обрабатывать обновление прогрессбара. Верно я понял?
Dulce et decorum est pro patria mori

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.11.2013 (Чт) 12:58

В целом верно, но насчёт каждой итерации не уверен - зависит от их длительности и количества. В общем вызывай так же, как ты сейчас работаешь с прогрессбаром.

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Как развязать код формы и классов

Сообщение insite2012 » 21.11.2013 (Чт) 13:08

Спасибо, буду пробовать.
А длительность там не очень большая. Размер файла - от 4 до 16 Кб, считывание блоками по 256 байт или же запись блоками по 32 байта. Вроде не так много получается итераций...
Dulce et decorum est pro patria mori

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.11.2013 (Чт) 15:33

insite2012 писал(а):Размер файла - от 4 до 16 Кб,

Что-то я тут вообще толку от прогрессбара не вижу...

Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Re: Как развязать код формы и классов

Сообщение Ronin » 21.11.2013 (Чт) 19:22

Если я понял правильно http://ru.wikipedia.org/wiki/Model-View-Presenter
С уважением,
Игорь Шувалов aka Ronin

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.11.2013 (Чт) 21:52

Ronin писал(а):Если я понял правильно http://ru.wikipedia.org/wiki/Model-View-Presenter

Бррррррр...

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Как развязать код формы и классов

Сообщение insite2012 » 22.11.2013 (Пт) 0:54

Qwertiy писал(а):
insite2012 писал(а):Размер файла - от 4 до 16 Кб,

Что-то я тут вообще толку от прогрессбара не вижу...

Ну как толку...
Чтобы видно было, что прогресс идет))) А то так и не поймешь, идет запись-чтение или просто приложение висит)
Dulce et decorum est pro patria mori

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Как развязать код формы и классов

Сообщение insite2012 » 22.11.2013 (Пт) 0:56

Ronin писал(а):Если я понял правильно http://ru.wikipedia.org/wiki/Model-View-Presenter

Вообще не понял о чем вы... К данной теме мой проект отношения не имеет. Тут скорее сугубо практическое применение, те аппараты, для которого этот проект предназначен, есть практически в доме у каждого)))
Dulce et decorum est pro patria mori


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList