(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 ( )
Link to this page: //www.vb-net.com/StatusLabel/index.htm
< THANKS ME>