|
форма не доступна
|
|||
---|---|---|---|
#18+
Доброго времени господа форумчане! Есть вопрос знатокам С# . Приложение работает долго ... работа с базой ... расчеты и т.д. за это время главная форма уходит в "затенение" - форма недоступна Как не допустить этого затенения ? В форме отображается стадии хода работ всей программы. О сколько нам открытий чудных .... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 10:46 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
BackgroundWorker Class Sample for Beginners Версия C#, .Net Framework какая используется? Асинхронное программирование в c# 5.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 10:51 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
Выполнять расчеты не в UI-потоке, результаты расчетов выводить в UI-потоке ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 11:00 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
Спасибо, мне тоже похожая мысль пришла в голову. Однако как обновлять TextBox на форме из другого потока ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 11:35 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
alex171069, Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 11:43 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
alex171069Спасибо, мне тоже похожая мысль пришла в голову. Однако как обновлять TextBox на форме из другого потока ?Статью лень почитать, или английский не понимаете? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 12:52 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
Код: c# 1.
согласен что так можно выводить состояние и процент выполнения ... Но мне нужно передавать из потока в форму не % выполнения а конкретные переменные которые имеют слегка другое содержание. BackgroundWorker - хорош когда нужно всего лишь обновить конкретный bar и показать проценты выполнения. Но основная задача состоит в том что бы вывести несколько переменных из потока на форму, а вот выводить произвольные переменные BackgroundWorker не умеет... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 13:07 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
alex171069 Код: c# 1.
согласен что так можно выводить состояние и процент выполнения ... Но мне нужно передавать из потока в форму не % выполнения а конкретные переменные которые имеют слегка другое содержание. BackgroundWorker - хорош когда нужно всего лишь обновить конкретный bar и показать проценты выполнения. Но основная задача состоит в том что бы вывести несколько переменных из потока на форму, а вот выводить произвольные переменные BackgroundWorker не умеет... а сделать переменные глобальными? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 13:12 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
Когда я попытался применить backgroundWorker, я в асинхронном методе запуска потока прописал мой метод который передавал в поток progressBar1 и textBox_Log по неопытности .... И естественно поток не смог присвоить textBox_Log.Text значение рожденное в потоке ... Так вот может быть есть альтернатива backgroundWorker который может передавать переменные из потока ? Вот мой код который я по неопытности вкрутил в DoWork private void backgroundWorkerConvert_DoWork(object sender, DoWorkEventArgs e) { conf.Migration(PathBasaAccess, progressBar1, null, textBox_Log); } ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 13:16 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
alex171069 Код: c# 1.
согласен что так можно выводить состояние и процент выполнения ... Но мне нужно передавать из потока в форму не % выполнения а конкретные переменные которые имеют слегка другое содержание. BackgroundWorker - хорош когда нужно всего лишь обновить конкретный bar и показать проценты выполнения. Но основная задача состоит в том что бы вывести несколько переменных из потока на форму, а вот выводить произвольные переменные BackgroundWorker не умеет...Я в таких случаях создаю класс, например: ExecutionState, - содержащий необходимую информацию о ходе выполнения. И передаю экземпляр этого класса между потоками. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 13:27 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
Хорошо, а экземпляры класса как передаете ? И потом со стороны формы как понять что экземпляр класса обновился ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 13:38 |
|
форма не доступна
|
|||
---|---|---|---|
#18+
Да и этот класс должен быть статическим или реализовать паттерн "одиночка" . ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2015, 13:52 |
|
|
start [/forum/moderation_log.php?user_name=%D0%9A%D1%83%D0%BA%D1%83%D0%BD]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 1918ms |
total: | 2069ms |
0 / 0 |