នៅក្នុងកម្មវិធីមួយចំនួនតំរូវឱ្យអ្នកធ្វើការបង្កើត Button តាមតម្រូវការរបស់អ្នកប្រើប្រាស់ ឧទាហរណ៍នៅក្នុង ប្រពន្ធ័គ្រប់គ្រងការកម្មង់អាហារនៅក្នុងភោជនីយដ្ឋាន (Food Order Management System) អ្នកប្រើប្រាស់អាច ធ្វើការបន្ថែមតុ (តំណាងដោយ Button) តាមតម្រូវការ។
ខាងក្រោមនេះនាងខ្ញុំនឹងបង្ហាញអ្នកអំពីរបៀបបង្កើត Button Dynamic ដែលទាញចេញពី Database ជាមួយ VB.NET ។
ជាដំបូង៖ សូមធ្វើការ Design Form ដូចខាងក្រោម
- TextBox: txtBtnName
- Button: btnAdd
- FlowLayoutPanel: FlowLayoutPanelButton
ចំណាំ៖ ចំពោះ Panel ដែលប្រើសម្រាប់ផ្ទុក Button អ្នកគួរជ្រើសយក FlowLayoutPanel ព្រោះវាជួយរៀបចំឱ្យ Button មានលក្ខណៈជាជួរ ដោយមិនចាំបាច់ឱ្យយើងធ្វើការ Set Location ទៅលើ Buttonដោយខ្លួនឯងទេ។
បន្ទាប់មកអ្នកត្រូវមាន Database សម្រាប់ផ្ទុកនូវ អក្សរសម្រាប់បង្ហាញនៅក្នុង Button និមួយៗ ជាមុនសិន។ ហើយនៅពេលដែលអ្នកបើ Form លើកក្រោយចំនួន Button ។
ការសរសេរកូដ
កូដសម្រាប់ Save ឈ្មោះ Button
Sub InsertButton(ByVal btnName As String) Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BTN.accdb") Dim comm As New OleDbCommand("Insert into Buttons Values ('" + btnName + "')", con) con.Open() comm.ExecuteNonQuery() con.Close() End Sub
កូដសម្រាប់បង្កើត Button ដែលត្រូវបានទាញចេញពី Database
Sub CallButton() Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BTN.accdb") Dim comm As New OleDbCommand("SELECT * FROM Buttons", con) con.Open() Dim dr As OleDbDataReader = comm.ExecuteReader While dr.Read Dim btn As New Button btn.Text = dr(0).ToString FlowLayoutPanelButton.Controls.Add(btn) End While con.Close() End Sub
**ដើម្បីឱ្យបើក Form មកចេញ Button ដែលមានឈ្មោះនៅក្នុងDatabase សូមហៅ Function CallButton ខាងលើនៅក្នុង Event Form_Load ដូចខាងក្រោម៖
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call CallButton() End Sub
** សូមហៅ Function InserButton() នៅក្នុងEvent click របស់ btnBtnName ដូចខាក្រោម៖
Private Sub btnBtnName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click FlowLayoutPanelButton.Controls.Clear() Call InsertButton(txtBtnName.Text) Call CallButton() End Sub