មករា
វិធីសាស្រ្តបញ្ចូល Multiple Columns ទៅកាន់ Combobox ភាសា C#
ប្រិយមិត្តអ្នកអានជាពិសេសលោកអ្នកនិស្សិតផ្នែកព័ត៌មានវិទ្យាភាគច្រើនធ្លាប់បានស្គាល់និងបានប្រើប្រាស់ Combobox Tool ដែលជា Tool មួយក្នុងចំណោម Tools ជាច្រើនរបស់កម្មវិធី Visual Studio ។
តើអ្វីជា Combobox? យើងអាចនិយាយបានថា Combobox ជា tool មួយដែលអនុញ្ញាតឲ្យ Developer ធ្វើការសរសេរCodeបញ្ចូលទិន្នន័យទៅក្នុងCombobox ដែលមានរូបរាង ឬក៏ ទ្រង់ទ្រាយជាលក្ខណៈ មួយColumn ពីរ បី រឺច្រើន Columns តាមតម្រូវការរបស់អ្នកប្រើប្រាស់ ឬក៏តាមការងារជាក់ស្តែង ដើម្បីងាយស្រួលដល់ការប្រើប្រាស់របស់ User ។
♦ តើធ្វើដូចម្តេច ដើម្បីបញ្ចូល multiple column ទៅកាន់ Combobox ?
យើងនឹងលើកយកពីកម្មវិធីប្រើប្រាស់ .Net ដូចជា C# ដោយធ្វើការបញ្ចូល ៣ columns នៅក្នុង Combobox យកមកបង្ហាញ ។
សូមអនុវត្តន៍ តាមជំហានដូចខាងក្រោម៖
១ បង្កើត UI (Form និង Control)
២ សរសេរកូដលើ Event Load
៣ សរសេរកូដលើ Event DrawItem
♦ ១. បង្កើត UI (Form នឹង Control)
សូមបង្កើត Form ដែលមានលក្ខណៈដូចខាងក្រោម៖
- ដាក់ឈ្មោះ Combobox : cbo
កូដ៖
♦ ២. សរសេរកូដលើ Event Load
ប្រើ DataTable បង្កើត object “table” add 3 ធាតុជាប្រភេទ string ចូលក្នុង Column ។
Add ទិន្នន័យចូល ក្នុង Row នៃ object DataTable ឈ្មោះ table
ប្រើសម្រាប់ binding ទិន្នន័យពី object នៃ DataTable ដាក់ចូលក្នុង ComboBox ឈ្មោះ cbo
កំណត់ ComboBox ឲ្យបង្ហាញទិន្នន័យពី object នៃ DataTable ឈ្មោះ Column “Cource” ដោយប្រើ DisplayMember Property
កំណត់ ComboBox ឲ្យចាប់យក Value ពី object នៃ DataTable ឈ្មោះ Column “ID” ដោយប្រើ ValueMember Property
កំណត់ ComboBox អាច Drawing lines, Columns,... នៅក្នុង Combobox បាន ។
♦ ៣. សរសេរកូដលើ Event DrawItem
បង្កើត Event Draw Item
Select លើ Control Combobox → Events Icon → DrawItem Property :
បន្ទាប់មក ចុច Enter បន្ទាប់វានឹងទៅបង្កើត Function មួយសម្រាប់សរសេរ Event ។
ចូរសរសេរកូដដាក់ដូចខាងក្រោម៖
♦ ដំណើរការកូដ៖
មានន័យថា draw the default background
ប្រើ DataRowView បង្កើត object ឈ្មោះ drv ដែលចាប់យកជួរដេក និង ជួរឈរទាំងអស់ចេញពី combobox ។ ហេតុអ្វីបានការចាប់យកទិន្នន័យមានលក្ខណៈជាជួរដេកនិងជួរឈរ? គីដោយ សារ Combobox is bound to a DataTable (table) ។
បង្កើត 3 អញ្ញាត មានប្រភេទទិន្នន័យជា String ចាប់យកទិន្នន័យពី Column (ID,Cource,Price)
ក្នុងចំណុចនេះបង្កើតឡើងក្នុងគោលបំណង get the bounds for the first columns ។ r1 ជា variable ដែលមានប្រភេទទិន្នន័យជា Rectangle ។ Rectangle stores a set of four integers that represent the location and size of a rectangle ។ A set of four integers of r1 is {x,y,width,height} ។ Rectangle វាជា member របស់ System.Drawing ។ ហើយចំពោះ Code (e.Bounds) គឺចាប់យកទីតាំងនិងទំហំ {X,Y,With,Height} របស់ Combobox ។
ក្នុងចំណុចនេះបង្កើតឡើងក្នុងគោលបំណង draw the text on the first columns ។ sb ជា variable ដែលមានប្រភេទទិន្នន័យជា SolidBrush ។ SolidBrush: Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. ត្រង់ Code ( e.Graphics.DrawString ( id, e.Font, sb, r1) ) មានន័យថា draw text នៃ Column id ។ SolidBrush វាជា member របស់ System.Drawing ។
ក្នុងចំណុចនេះបង្កើតឡើងក្នុងគោលបំណង ដើម្បីគូរ line នៅក្នុង Combobox ។ p គឺជា object មួយដែល instance ពី Pen Class ដែលប្រើសម្រាប់គូរ Lines and Curves ។ ត្រង់ Code (e.Graphics.DrasLine (p, r1.Right, 0, r1.Right, r1.Bottom) ) មានន័យថា draw line នៅក្នុង Combobox ។
ត្រង់ចំណុច គឺ ស្រដៀង នឹងចំណុចដែលបានពន្យល់ខាងលើដែរ ។
លទ្ធផល៖
♦ ទាញយកកម្មវិធីផ្សេងៗដែលបង្កើតដោយអាន-ANT សម្រាប់ (iOS & Android & Windows)
មតិ និងយោបល់ទៅលើអត្ថបទនេះ (តាម Facebook)
ខាងក្រោមនេះជាយោបល់ផ្សេងៗរបស់អ្នកទស្សនា