(NET) NET (2013)

Оновлення StatusLabel з потоку BackGroundWorker - приклад застосування Action, Delegate, Invoke, AddressOf, Extension, Expression.



У більшості своїх десктопних програм я звик використовувати StatusLabel, у якої я відображаю поточний статут операції. Цю StatusLabel ви бачите на скринах вище. Наразі мені прийшло на думку, що це дуже цікавий приклад застосування багатьох конструкцій Бейсіку у декількох стрічках коду. Це може бути цікавим прикладом для починаючих вивчати Бейсік.

Неможна просто написати StatusLabel.text="start", а потім StatusLabel.text="end", тому давайте розберемо крок за кроком усі компоненти коду, які дозволяють відображати на формі поточний статут будь-якої операції, тобто вивести на форму буль-яке інформаційне повідомлення.

У зв'язку з тим що Windows-форма просто підвисає, коли щось виконується у тому ж потоці, тому звичайно для будь-яких операцій довше однієї секунди використовується BackGroundWorker, але справа в тому, что Windows-форма руйнується, коли на неї щось написати з іншого потоку.

Отже, давайте підсумуємо - щоб вивести на форму статут Start/Done нам потрібно було грамотно використати такі мовно-сінтаксичні можливості Бейсіку як Action, Delegate, Invoke, AddressOf, Extension, Expression. А також зрозуміти як працює BackGroundWorker.



Comments ( )
<00>  <01>  <02>  <03>  <04>  <05>  <06>  <07>  <08>  <09>  <10>  <11>  <12>  <13>  <14>  <15>  <16>  <17>  <18>  <19
Link to this page: http://www.vb-net.com/StatusLabel/index.htm
<SITEMAP>  <MVC>  <ASP>  <NET>  <DATA>  <KIOSK>  <FLEX>  <SQL>  <NOTES>  <LINUX>  <MONO>  <FREEWARE>  <DOCS>  <ENG>  <MAIL ME>  <ABOUT ME>  < THANKS ME>