For Android device For iOS device
២១
តុលា

ការ​ប្រើ​ប្រាស់ BackgroundWorker (Thread) នៅ​ក្នុង Visual Studio

សូមចុច Like គេហទំព័រ www.antkh.com ដើម្បី​ទទួលបានអត្ថបទថ្មីៗ​ប្រចាំ​ថ្ងៃ​

BackgroundWorker គឺជា Component មួយ ឬ​ក៏ Tool មួយ​ដែល​បងើ្កតឡើងដោយ​ក្រុមហ៊ុន Microsoft ​សម្រាប់​ប្រើ​ប្រាស់​នៅ​ក្នុង Microsoft Visual Studio

BackgroundWorker គឺជា Tool មួយ​ដែល​មានលទ្ធិភាពអាច​ឲ្យ​យើងធ្វើ​ការងារ​ច្រើន​ក្នុង​ពេលតែមួយ ។

ឥឡូវនេះយើង​ធ្វើការ​បង្កើត​កម្មវិធី​តូចមួយ​ដែល​ប្រើ​ប្រាស់ BackgroundWorker Tool ​ដែល​អាច​ឲ្យ​យើង​ធ្វើការ Report ​នូវ​សកម្មភាពរបស់វា​តាមរយៈ ListBox Control ហើយនិង​ប្រើ​ប្រាស់ Progress Bar ដើម្បី​ស្ទង់សកម្មភាពរបស់ BackgroundWorker ធ្វើដល់ណា ។

BackgroundWorker Start

ឥឡូវនេះយើង​បង្កើត event Click ទៅ​ឲ្យ btnStart ​ដែល​ជា Button ​ដែល​យើងបាន​បង្កើត ដើម្បី​ពេល​ដែល​យើងចុច btnStart ​ឲ្យ​វាចាប់ផ្តើម​ដំណើរ​ការ BackgroundWorker

សូមមើលកួដ​ខាងក្រោម​៖

  • WorkerReportsProgress មាន​តម្លៃ true នោះ​វានឹង​អនុញ្ញាត​ឲ្យ Background1 អាច Report ​ទិន្នន័យ​បាន ។

  • WorkerSupportsCancellation មាន​តម្លៃ true នោះ​វានឹង​អនុញ្ញាត​ឲ្យ Background1 អាច​បញ្ឈប់​នៅ​ចំណុច​ណាមួយ​បាន ។

  • ​ពិនិត្យ​មើលថាតើ background1 កំពុង​ដំណើរ​ការ ឬ​អត់ បើវា​កំពុង​ដំណើរ​ការ IsBusy នឹងមាន​តម្លៃ​ស្មើ true

BackgoundWorkerDoWork

ឥឡូវនេះយើងនឹង​បង្កើត event DoWork ទៅ​ឲ្យ background1 (BackgroundWorker Tool) ដោយយើងគ្រាន់ចុចលើ Background1 ហើយចុច F4 ដើម្បី​បើក​ផ្ទាំង Properties របស់វា រួចមកចូល​ទៅកាន់ event របស់វា នឹង​ជ្រើសរើស​យកពាក្យ DoWork ដោយ Double Click ​ទៅលើ​វាពីរដងហើយ event នេះ​វានឹង​ដំណើរ​ការ​នៅពេល​ដែល method RunWorkerAsync ​ត្រូវបាន​ហៅមក​ប្រើ ។

  • ​បន្ទាប់មក​សរសេរ​កូដដូច​ខាងក្រោម​៖

  • ​កំណត់​ឲ្យ Background1 ដំណើរ​ការ១០១ជុំ

  • ​ពិនិត្យ​មើលថាតើ methodCancelAsync របស់ background1 ត្រូវបាន​ប្រើ​ប្រាស់ ឬ​អត់ ។ បើសិនជា​ត្រូវបាន​ប្រើ​នោះ CancellationPending នឹងមាន​តម្លៃ​ស្មើ true

  • method ReportProgress ​ធ្វើការ​ផ្ទុកភាគរយនៃ​ដំណើរ​ការនឹងសកម្មភាព​ដែល​យើងបានធ្វើ ។

  • ​សម្រាប់​ធ្វើការ​ពន្យា​ដំណើរ​ការ 100 milisecond ( ឬ​0.1 វិនាទី​)

BackgroundWorkerProgressChanged

ការ​បង្កើត event ProgressChanged របស់ background1 (BackgroundWorker) ​ក៏​ដូច​គ្នា​ទៅនឹងការ​បង្កើត event DoWork របស់ Background1 ដែរ ។ យើង​ប្រើ​ប្រាស់ event progrogressChange ដើម្បី​ធ្វើការ​បង្ហាញ ភាគរយនៃ​ដំណើរ​ការ​តាមរយៈ Provalue (progress Bar) និង សកម្មភាព​ដែល​បានបំពេញ​តាមរយៈ listValue (List Box)

​បន្ទាប់មក​សរសេរ​កូដដូច​ខាងក្រោម​៖

យកភាគរយនៃ​ដំណើរ​ការរបស់ background1 បោះទៅ​ឲ្យ Provalue (Progress Control)

យកសកម្មភាព​ដែល​បាន​ដំណើរ​ការរបស់ background1 បោះទៅ​ឲ្យ listValue (ListBox Control)  

នៅ​ក្នុង event ProgressChanged របស់ BackgroudWorker មាននៅ properties ​ពិសេស​២​គឺ៖

- ProgressPercentage គឺជា method ​ដែល​ប្រើ​ប្រាស់​នៅ​ក្នុង event ProgressChange ​ដែល​ទទួល​តម្លៃ​ពី prameter ទី១របស់ method ReportProgress

- UserState ​ក៏​ជា method ​ដែល​ប្រើ​ប្រាស់​នៅ​ក្នុង event ProgressChange ដែរ ។ វានឹង​ទទួល​តម្លៃ​ពី parmeter ទី២របស់ method ReportProgress ដែរ ។

BackgroundWorkerRunWorkerCompleted

រីឯ event RunWorkerCompleted ​វានឹង​ដំណើរ​ការ​នៅពេល​ដែល background1 (BackgroundWorker) របស់យើងបំពេញ​ការងារ​រួចរាល់ ឬ​ក៏​ត្រូវបាន​បញ្ឈប់​ដោយសកម្មភាព​ណាមួយ ។ ដូច្នេះ​នៅពេល​ដែល event DoWork របស់ Background1 ដំណើរ​ការចប់យើងនឹង disable button Stop ហើយ enable button Start ដោយ​សរសេរ​កូដដូច​ខាងក្រោម​៖

Stop processBackgroundWorker

យើងអាច​ធ្វើការ​បញ្ឈប់​ដំណើរ​ការរបស់ background1 ដោយ​ប្រើ​ប្រាស់ event Click របស់ btnStop (Button) ដោយហៅ method CancelAsync មក​ដំណើរ​ការ ។

សូមមើលកួដ​ខាងក្រោម​៖

​ធ្វើការ​បញ្ឈប់​ដំណើរ​ការ background1

​លទ្ធផល​របស់​កម្មវិធី​ខាងលើ​៖

ដកស្រង់ចេញពី​ទស្សនាវដ្ដី​អាន-ANT ច្បាប់​ទី ២៥ ប្រចាំខែមេសា ឆ្នាំ ២០១១ និងកែ​សម្រួល​អត្ថបទ ដោយឡើងវិញនៅខែ តុលា ឆ្នាំ ២០១៦

វគ្គ C# Beginining តម្លៃ ៧០ដុល្លា http://training.antkh.com/csharp_for_beginner.aspx

Laughing សម្រាប់​កម្មវិធី​អានផេឌៀ ANT Pedia 2016 ដែល​ធ្វើការ update ចេញពីវចនានុក្រមអាន-ANT ឆ្នាំ ២០១១ និង ២០១២ ដំណើរ​ការ​លើ Windows (ចាប់ពី Windows 8 ឡើងទៅ) អាច Download ដោយឥតគិតថ្លៃ

👉https://mfi.re/file/jlpuucxsaafytqh/ANTPediaSetup.rar

Laughing សូម​ចូលរួម​ជាសមាជិក ANT Training Group  ដើម្បី​តាមដានសម្មភាពប្រចាំ​ថ្ងៃ​ជាមួយអាន-ANT

Laughing ចុច Like គេហទំព័រ www.antkh.com ដើម្បី​ទទួលបានអត្ថបទថ្មីៗ​ដែល​ទាក់ទងនឹង​បច្ចេកវិទ្យា​រៀងរាល់​ថ្ងៃ​

មតិ និង​យោបល់​ទៅលើ​អត្ថបទ​នេះ (តាម Facebook)

ខាងក្រោម​នេះ​ជា​យោបល់​ផ្សេងៗ​របស់​អ្នកទស្សនា