Latest Products
Showing posts with label សរសេរកម្មវិធី. Show all posts
Showing posts with label សរសេរកម្មវិធី. Show all posts
មេរៀន VC#.NET-ចងទិន្នន័យ Data និង Data Set

មេរៀន VC#.NET-ចងទិន្នន័យ Data និង Data Set

ក្នុងជំពូកនេះអ្នកនឹងរៀនពីរបៀបធ្វើ:P ចង property នៃ control មួយទៅប្រភពទិន្នន័យក្នុងពេល design ឬពេលរត់ដំណើរការដែលប្រើការចងដោយងាយ។P ចង control ទៅក្នុង list មួយនៃតំលៃពីក្នុងប្រភពទិន្នន័យដោយប្រើ ការចងសាំញាំ។P បង្កើតនិងប្រើ disconnected DataSets ដើម្បីទទួលទិន្នន័យនិង និងកាត់បន្ថយក្នុងការផ្ទុក database របស់អ្នក ។P បញ្ជាក់និងប្តូរ user ត្រូវបានបង្កើតទៅក្នុងទិន្នន័យដែលមិនទាក់ទង DataSet និង update database មួយជាមួយតំលៃប្តូរ។
និយមន័យ DataSet class
  1. ក្នុង Project menu ចុចលើ Add New Item
  2. បន្ថែមក្នុងប្រអប់ Add New Item ដើម្បីបង្ហាញបណ្តា template សំរាប់ object ដែលបានបន្ថែមទៅលើ project
a
  1. នៅក្នុងប្រអប់ Add New Item ចុចលើ DataSet template វាយ សរសេរ NorthwindDataSet.xsd ដែលមានឈ្មោះរួចហើយចុច លើ Add។
  2. សន្លឹក DataSet Designer បានបង្ហាញ
aក្នុង DataTable និង TableAdapter object ត្រូវបានបន្ថែមលើសន្លឹក DataSet Designer និងការដំឡើង TableAdapter
aជ្រើសរើសប្រើ SQL statements រួចហើយចុចលើ Next
aវាយសរសេរ SQL SELECT ដែលគណនាជាលេខក្នុងតារាង Products
SELECT COUNT(*) AS NumProducts
FROM Products
រួចចុចលើ Advanced Options
aសន្លឹក Form Control និង ការចងទិន្នន័យ properties ជាច្រើននៃសន្លឹក Forms control អាចត្រូវបានភ្ជាប់ឬ bound ទៅប្រភពទិន្នន័យ ។ បន្ទាប់វាបាន bound តំលៃនៃប្រភពទិន្នន័យប្តូរ តំលៃ bound property និងផ្ទុយទៅវិញ ។ អ្នកមានការចងទិន្នន័យក្នុងការធ្វើ សកម្មភាពដោយប្រើ DataGrid ក្នុង DisplayProduct project ក្នុងជំពូកទី 2០ ។ DataGrid នៅលើ form ត្រូវបាន bound ទៅក្នុង DataSet ដែល របាយការណ៏ពីតារាងផលិតក្នុង database ។
ប្រើប្រាស់ការចងទិន្នន័យដោយងាយ ស្តង់ដា Standard version នៃកម្មវិធី Visual C# .NET 2003 មិនធ្វើការជាមួយ SQL Server 2000 ។ ប្រសិនបើអ្នកត្រូវបានដំឡើងស្តង់ដា Standard version នៃកម្មវិធី Visual C# .NET 2003 សូមទទួលដំឡើង កម្ម វិធី Microsoft SQL Server 2000 Desktop និងបង្កើតកម្មវិធី Microsoft SQL Server 2000 Desktop Engine នៃ Northwind Traders database ដូចបានអធិប្បាយក្នុងជំពូកទី 20 ។
1. ក្នុងកម្មវិធី Visual Studio .NET បង្កើត project ថ្មីមួយដែលហៅថា DataBindingDemo ក្នុង \Microsoft Press\Visual C# Step by Step\
Chapter 21 folder ក្នុង My Documents folder របស់អ្នកដែលប្រើ
Windows Application template ។
2. ក្នុងប្រអប់ Toolbox ទាញប៊ូតុង control នៅលើ form ។ បង្កើតទី តាំង property គឺ 16, 16 ។
3. ក្នុងប្រអប់ Toolbox ទាញ TextBox control នៅលើ form ។ បង្កើតទីតាំង property គឺ 112, 16 ដែលនៅខាងស្តាំដៃនៃប៊ូតុង ។
4. ប្តូរ Code និងសន្លឹក Text Editor ដែលមើលឃើញ Form1.cs និង ស្ថិតនៅក្នុង  form1 ។ បន្ទាប់ពីហៅ InitializeComponent method បន្ថែម statement ដូចខាងក្រោមនេះ:
button1.DataBindings.Add(“Text”, textBox1, “Text”);
4. គ្រប់ control ទាំងអស់ដែលអ្នកអាចទាញនៅលើ form ដូចជាការ ប្រមូលផ្តុំ DataBinding ។ ការប្រមូលផ្តុំនេះអនុញ្ញាតអោយអ្នក you ចូលរួម ក្នុង property នៃ control ជាមួយតំលៃមួយ ។ ប្រសិនបើតំលៃប្តូរ property ត្រូវបាន updat ដោយ automatic ហើយប្រសិនបើ property ប្តូរតំលៃ bound ក៏ updat ដោយ automatic ដូចគ្នាដែរ ។ បន្ទាត់សរសេរ code អ្នកត្រូវបន្ថែមចង Text property (parameter ទីមួយនៃ Add method) នៃ ប៊ូតុងទៅ Text property (parameter ទីបី) នៃ textBox1 control ។
5. ត្រឡប់ Design View រួចចុចពីរដង double-click លើប៊ូតុង button1 control ។
6. បន្ថែម statement ខាងក្រោមទៅក្នុង button1_Click method:
button1.Text = “Hello”;
statement នេះប្តូរ caption ដែលបង្ហាញនៅលើប៊ូតុង ។
7. Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ កាលណា form ដំបូង បង្ហាញ caption នៃប៊ូតុងត្រូវបានបង្កើតទៅ textBox1 ដែលដូច text ក្នុងប្រអប់ textBox1 control ។
8. ចុចលើប៊ូតុង ។ caption ប្តូរទៅ “Hello.” ចុចលើប្រអប់ text box ។ មាតិកាប្តូរទៅក្នុង “Hello” ។ ការចងទិន្នន័យបណ្តាលមកពីប្តូរអ្នកបង្កើតទៅ bound property ត្រូវបានកើនឡើងត្រឡប់ចូលទៅក្នុងប្រភពដើមទិន្នន័យ ។
9. បិទ form រួចហើយត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
ចង column មួយក្នុង DataSet
ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងចងតំលៃដែលទទួលបានពី database ដែលប្រើ DataSet ។ អ្នកនឹងប្រើ Visual Designer ដូចជាសរសេរ
code ទៅទំរង់ងាយនៃការចងទិន្នន័យ ។
1. ក្នុង Visual Studio .NET បង្ហាញ Form1 នៅក្នុងសន្លឹក Design លើ View menu ចុចលើ Server Explorer បង្ហាញ Server Explorer ។ ការភ្ជាប់ទិន្នន័យ (ឈ្មោះម៉ាស៊ីន\VSdotNET2003 .Northwind.dbo កន្លែង ដែលឈ្មោះម៉ាស៊ីនគឺជាឈ្មោះ name នៃ Microsoft SQL Server របស់អ្នក)
SqlConnection object ដែលហៅថា sqlConnection1 និង SqlDataAdapter object ដែលហៅថា sqlDataAdapter1 បង្ហាញក្នុង form។
2. ចុចលើ sqlDataAdapter1 ក្នុងសន្លឹក Properties (បង្កើតវាអោយ
ច្បាស់មើល properties ដូចជា event) ពង្រីកជ្រើសរើស Command property ។  អ្នកប្រើ SQL SELECT statement ដែលត្រូវបានប្រតិ្តបត្តិទទួល ទិន្នន័យ data ពីក្នុង database ។ ចុចលើ CommandText property រួច
ហើយចុចលើប៊ូតុង Ellipses ។  Query អ្នកសង់សន្លឹកបង្ហាញ ក្នុង SQL pane ប្តូរ SELECT statement ជាមួយ code ខាងក្រោមនេះ:
SELECT SupplierID, CompanyName
FROM Suppliers
a
3. ការចងទិន្នន័យដោយងាយគ្រាន់តែជាតំលៃទោលទៅក្នុង property នៃ control ។ SQL SELECT ត្រូវបានជ្រើសរើស statement និងត្រឡប់ទៅ ក្នុង columns សំរាប់គ្រប់ row នៅក្នុង table ហើយតំលៃដំបូង (OrderID នៃ row ដំបូង) ។
4. ចុចលើប៊ូតុង OK ក្នុងសន្លឹក Query Builder ដើម្បីរក្សាទុកប្តូរអ្នក បានបង្កើត ។
5. ជាមួយ sqlDataAdapter1 object នៅតែបានជ្រើសរើស ចុចលើ Generate Dataset hyperlink នៅខាងក្រោមនៃសន្លឹក Properties ។ កាល ណាប្រអប់ Generate Dataset dialog box បានបើកចុចលើ OK ដើម្បីបង្កើត
DataSet ថ្មី ។ DataSet object ថ្មីដែលហៅថា dataSet11 បង្ហាញក្រោម form ។
6. ក្នុង Toolbox ទាញ Label control នៅលើ form នៃ button1 រួចហើយបង្កើតវាទីតាំង property ទៅ 16, 72 ។
7. ខណ:ដែល Label control គឺត្រូវបានជ្រើសរើស ទៅក្នុងសន្លឹក Properties រួចហើយពង្រីក (DataBindings) property ។ ជ្រើសរើស (Advanced) property រួចចុចលើប៊ូតុង Ellipse។ សារ:ប្រយោជន៍ នៃការចងទិន្នន័យក្នុងប្រអប់ dialog box ។ អ្នកអាចប្រើប្រអប់ dialog box ទៅ ក្នុងទំរង់ងាយនៃការចង់ទិន្នន័យដែលមាន properties ជាច្រើននៃ control ។
8. Scroll ចុះក្រោម Text property រួចចុចព្រួញ drop-down ។ list នៃអថេរប្រភពទិន្នន័យបង្ហាញ: DataSet11 និងមិនមាន។ ពង្រីក DataSet11 folder ដោយចុចលើសញ្ញាបូក (+) ។ ចុចលើ NumOrders រួចចុចលើ Close ដើម្បីរក្សាប្តូរ ។
a
ប្តូរ Code និងសន្លឹក Text Editor រួចត្រឡប់ Form1 class ។
ក្រោម statement ដែលអ្នកបានបន្ថែមពីក្នុងលំហាត់ពីមុន ។ (DataBindings property សំរាប់ button1 control) វាយសរសេរ statements ខាងក្រោម:
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet11);
10. Compile និងរត់កម្មវិធីម្តងទៀត ។ Label control បង្ហាញចំនួននៃ rows ក្នុងតារាង table (ប្រហែល 830 ប្រសិនបើកអ្នកមិនបានប្តូរទិន្នន័យ ពីក្នុង database ត្រូវបានបង្កើត) ។
11. បិទ form រួចត្រឡប់កម្មវិធី Visual Studio .NET ។
2. ប្រើប្រាស់ការចងទិន្នន័យសាំញ្ញាំ Complex Data Binding អ្នកមានរបៀបប្រើប្រាស់ការចងទិន្នន័យងាយ សំរាប់ភ្ជាប់ property នៃ control មួយទៅតំលៃទោល ក្នុងប្រភពទិន្នន័យ ។ ការចងទិន្នន័យសាំញ្ញាំគឺប្រើ ប្រាស់ប្រសិនប់អ្នកចង់បង្ហាញតំលៃ list ពីប្រភពទិន្នន័យ ។ ក្នុងលំហាត់ខាង ក្រោមនេះ អ្នកនឹងប្រើការចងទិន្នន័យសាំញ្ញាំដើម្បីបង្ហាញបណ្តាឈ្មោះនៃផលិត ផលក្នុងប្រអប់ list box រួចហើយទទួលបាន ProductID នៃផលិតផលដែល អ្នកប្រើប្រាស់បានជ្រើសរើស ។ ក្នុងប្រអប់ ComboBox និង CheckedListBox control មានផ្គត់ផ្គង់ការចងទិន្នន័យសាំញ្ញាំដែលប្រើឈ្មោះដូចបច្ចេកទេស ដែលមាននៅក្នុងលំហាត់ខាងក្រោម ។
បង្កើត form
1. ក្នុងកម្មវិធី Visual Studio .NET បង្កើត project ថ្មីមួយដែលហៅថា ComplexBindingDemo ក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 21 folder ក្នុង My Documents folder របស់អ្នកដែលប្រើ
Windows Application template ។
2. បង្ហាញ Server Explorer (នៅលើ View menu ចុចលើ Server Explorer) ។ ការភ្ជាប់ទិន្នន័យអ្នកត្រូវការប្រើលំហាត់ពីមុន ។
3. ក្នុង Server Explorer​ ទាញតារាង Products table ក្នុងតារាង Tables folder នៅលើ form ។
4. ក្នុងប្រអប់ Toolbox ទាញប្រអប់ TextBox control នៅលើ form, និងបង្កើតទីតាំង Properties 16, 32 ។
5. ក្នុងប្រអប់ Toolbox ទាញប្រអប់ ListBox control នៅលើ form រួចហើយបង្កើត property គឺ 16, 72 ។ បង្កើតទំហំ property គឺ 256, 186 ។ បង្កើតនិងដំឡើងប្រភពទិន្នន័យក្នុងការអនុវត្តន៍នេះគឺគ្រាន់តែ query database
អ្នកនឹងបង្កើតប្រភពទិន្នន័យដែលគ្រាន់តែត្រូវការទទួល (ProductName and ProductID) ហើយមិនបង្កើត Data Manipulation Language (DML) statements ដើម្បីផ្លាស់ប្តូរ database ។
1. ជ្រើសរើស sqlDataAdapter1 object ដែលបង្ហាញក្រោម form ។ ចុចដំឡើង Configure Data Adapter hyperlink នៅខាងក្រោមសន្លឹក Properties ។
2. នៅលើ wizard ចុចលើ Next ជ្រើសរើសទំព័របង្ហាញ Data Connection ។ ប្រើការភ្ជាប់ default connection (ដែលនឹងមានដូចគ្នា កាលណាអ្នកបានទាញតារាង Products table នៅលើ form) រួចហើយចុចលើ Next ។ ជ្រើសរើសទំព័របង្ហាញ Query Type ។
3. បង្កើតច្បាស់លាស់ Use SQL Statement ត្រូវបានជ្រើសរើស រួចហើយចុចលើ Next ។ បង្កើតទំព័របង្ហាញ SQL Statements ។ ប្តូរ SELECT statement នេះដូចខាងក្រោមនេះ:
SELECT ProductID, ProductName
FROM Products
a
4. កាលណាអ្នកបានបញ្ចប់ ចុចលើ Advanced Option។ ប្រអប់ បង្ហាញ Advanced SQL Generation Options dialog box ។ ក្នុង wizard លុប Generate Insert, Update និងលុប Delete Statement។
5. ក្នុង wizard ចុចលើ Next.
6. មើលទំព័រ View Wizard Result ត្រូវបានបង្ហាញប្រាប់ sqlDataAdapter1 គឺបានដំឡើងជោគជ័យ ។
7. ចុចលើ Finish ដើម្បីបិទ wizard ប្រសិនបើអ្នកមើល properties សំរាប់ sqlDataAdapter1 ចាំថា InsertCommand, DeleteCommand និង UpdateCommand properties (បង្ហាញដូចជា (none) ក្នុងសន្លឹក Properties) ។ អ្នកនឹងរៀបចំ text ក្នុង CommandText property នៃ SelectCommand property ។
8. កាលណា sqlDataAdapter1 ត្រូវបានជ្រើសរើស ចុចលើបង្កើត Generate Dataset នៅខាងក្រោមសន្លឹក Properties ។ កាលណាប្រអប់ Generate Dataset dialog box បានបើក អនុញ្ញាតប្រើតំលៃ default រួចចុច លើ OK ។ DataSet ត្រូវបានបង្កើតនិង object, dataSet11 ថ្មីបង្ហាញក្រោមសន្លឹក Form1 ក្នុង Design View ។
ចង ListBox ទៅក្នុង DataSet
1. ក្នុង Design View ក្នុង listBox1 ។ ក្នុងសន្លឹក Properties ចុចលើ DataSource property រួច ជ្រើសរើស DataSet11.Products ពី drop-down list ។
a2. ចុចលើ DisplayMember property និងជ្រើសរើស ProductName ពីក្នុង drop-down list ។ ទិន្នន័យនេះ data ត្រូវបានបង្ហាញ list box ។
3. ចុចលើ ValueMember property រួចជ្រើសរើស ProductID ពី drop-down list ។ កាលណាអ្នកប្រើប្រាស់ user item មួយក្នុងប្រអប់ list box នេះគឺជាតំលៃដែលប្រមូលផ្តុំ item ។
4. ក្នុងសន្លឹក Properties ចុចលើ Event។ ចុចលើ SelectedIndex ដែលប្តូរ event វាយសរសេរ itemSelected រួចចុចលើ Enter ។ itemSelected method បង្ហាញ Code និងសន្លឹក Text Editor។ បន្ថែម code ខាងក្រោមទៅ itemSelected method:
textBox1.Text = listBox1.SelectedValue.ToString();
4. ជ្រើសរើសតំលៃ property ត្រឡប់តំលៃ ValueMember ដែលបាន ជ្រើសរើស ProductID នៃ row ដែលអ្នកប្រើប្រាស់ user ជ្រើសរើស ។
5. ក្នុង Form1 បន្ទាប់ពីហៅ InitializeComponent method វាយ សរសេរ statement ខាងក្រោមដើម្បីបើកការភ្ជាប់ទៅ database និង DataSet:
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet11);
ក្នុងជំពូកនេះអ្នកនឹងរៀនពីរបៀបធ្វើ:P ចង property នៃ control មួយទៅប្រភពទិន្នន័យក្នុងពេល design ឬពេលរត់ដំណើរការដែលប្រើការចងដោយងាយ។P ចង control ទៅក្នុង list មួយនៃតំលៃពីក្នុងប្រភពទិន្នន័យដោយប្រើ ការចងសាំញាំ។P បង្កើតនិងប្រើ disconnected DataSets ដើម្បីទទួលទិន្នន័យនិង និងកាត់បន្ថយក្នុងការផ្ទុក database របស់អ្នក ។P បញ្ជាក់និងប្តូរ user ត្រូវបានបង្កើតទៅក្នុងទិន្នន័យដែលមិនទាក់ទង DataSet និង update database មួយជាមួយតំលៃប្តូរ។
និយមន័យ DataSet class
  1. ក្នុង Project menu ចុចលើ Add New Item
  2. បន្ថែមក្នុងប្រអប់ Add New Item ដើម្បីបង្ហាញបណ្តា template សំរាប់ object ដែលបានបន្ថែមទៅលើ project
a
  1. នៅក្នុងប្រអប់ Add New Item ចុចលើ DataSet template វាយ សរសេរ NorthwindDataSet.xsd ដែលមានឈ្មោះរួចហើយចុច លើ Add។
  2. សន្លឹក DataSet Designer បានបង្ហាញ
aក្នុង DataTable និង TableAdapter object ត្រូវបានបន្ថែមលើសន្លឹក DataSet Designer និងការដំឡើង TableAdapter
aជ្រើសរើសប្រើ SQL statements រួចហើយចុចលើ Next
aវាយសរសេរ SQL SELECT ដែលគណនាជាលេខក្នុងតារាង Products
SELECT COUNT(*) AS NumProducts
FROM Products
រួចចុចលើ Advanced Options
aសន្លឹក Form Control និង ការចងទិន្នន័យ properties ជាច្រើននៃសន្លឹក Forms control អាចត្រូវបានភ្ជាប់ឬ bound ទៅប្រភពទិន្នន័យ ។ បន្ទាប់វាបាន bound តំលៃនៃប្រភពទិន្នន័យប្តូរ តំលៃ bound property និងផ្ទុយទៅវិញ ។ អ្នកមានការចងទិន្នន័យក្នុងការធ្វើ សកម្មភាពដោយប្រើ DataGrid ក្នុង DisplayProduct project ក្នុងជំពូកទី 2០ ។ DataGrid នៅលើ form ត្រូវបាន bound ទៅក្នុង DataSet ដែល របាយការណ៏ពីតារាងផលិតក្នុង database ។
ប្រើប្រាស់ការចងទិន្នន័យដោយងាយ ស្តង់ដា Standard version នៃកម្មវិធី Visual C# .NET 2003 មិនធ្វើការជាមួយ SQL Server 2000 ។ ប្រសិនបើអ្នកត្រូវបានដំឡើងស្តង់ដា Standard version នៃកម្មវិធី Visual C# .NET 2003 សូមទទួលដំឡើង កម្ម វិធី Microsoft SQL Server 2000 Desktop និងបង្កើតកម្មវិធី Microsoft SQL Server 2000 Desktop Engine នៃ Northwind Traders database ដូចបានអធិប្បាយក្នុងជំពូកទី 20 ។
1. ក្នុងកម្មវិធី Visual Studio .NET បង្កើត project ថ្មីមួយដែលហៅថា DataBindingDemo ក្នុង \Microsoft Press\Visual C# Step by Step\
Chapter 21 folder ក្នុង My Documents folder របស់អ្នកដែលប្រើ
Windows Application template ។
2. ក្នុងប្រអប់ Toolbox ទាញប៊ូតុង control នៅលើ form ។ បង្កើតទី តាំង property គឺ 16, 16 ។
3. ក្នុងប្រអប់ Toolbox ទាញ TextBox control នៅលើ form ។ បង្កើតទីតាំង property គឺ 112, 16 ដែលនៅខាងស្តាំដៃនៃប៊ូតុង ។
4. ប្តូរ Code និងសន្លឹក Text Editor ដែលមើលឃើញ Form1.cs និង ស្ថិតនៅក្នុង  form1 ។ បន្ទាប់ពីហៅ InitializeComponent method បន្ថែម statement ដូចខាងក្រោមនេះ:
button1.DataBindings.Add(“Text”, textBox1, “Text”);
4. គ្រប់ control ទាំងអស់ដែលអ្នកអាចទាញនៅលើ form ដូចជាការ ប្រមូលផ្តុំ DataBinding ។ ការប្រមូលផ្តុំនេះអនុញ្ញាតអោយអ្នក you ចូលរួម ក្នុង property នៃ control ជាមួយតំលៃមួយ ។ ប្រសិនបើតំលៃប្តូរ property ត្រូវបាន updat ដោយ automatic ហើយប្រសិនបើ property ប្តូរតំលៃ bound ក៏ updat ដោយ automatic ដូចគ្នាដែរ ។ បន្ទាត់សរសេរ code អ្នកត្រូវបន្ថែមចង Text property (parameter ទីមួយនៃ Add method) នៃ ប៊ូតុងទៅ Text property (parameter ទីបី) នៃ textBox1 control ។
5. ត្រឡប់ Design View រួចចុចពីរដង double-click លើប៊ូតុង button1 control ។
6. បន្ថែម statement ខាងក្រោមទៅក្នុង button1_Click method:
button1.Text = “Hello”;
statement នេះប្តូរ caption ដែលបង្ហាញនៅលើប៊ូតុង ។
7. Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ កាលណា form ដំបូង បង្ហាញ caption នៃប៊ូតុងត្រូវបានបង្កើតទៅ textBox1 ដែលដូច text ក្នុងប្រអប់ textBox1 control ។
8. ចុចលើប៊ូតុង ។ caption ប្តូរទៅ “Hello.” ចុចលើប្រអប់ text box ។ មាតិកាប្តូរទៅក្នុង “Hello” ។ ការចងទិន្នន័យបណ្តាលមកពីប្តូរអ្នកបង្កើតទៅ bound property ត្រូវបានកើនឡើងត្រឡប់ចូលទៅក្នុងប្រភពដើមទិន្នន័យ ។
9. បិទ form រួចហើយត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
ចង column មួយក្នុង DataSet
ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងចងតំលៃដែលទទួលបានពី database ដែលប្រើ DataSet ។ អ្នកនឹងប្រើ Visual Designer ដូចជាសរសេរ
code ទៅទំរង់ងាយនៃការចងទិន្នន័យ ។
1. ក្នុង Visual Studio .NET បង្ហាញ Form1 នៅក្នុងសន្លឹក Design លើ View menu ចុចលើ Server Explorer បង្ហាញ Server Explorer ។ ការភ្ជាប់ទិន្នន័យ (ឈ្មោះម៉ាស៊ីន\VSdotNET2003 .Northwind.dbo កន្លែង ដែលឈ្មោះម៉ាស៊ីនគឺជាឈ្មោះ name នៃ Microsoft SQL Server របស់អ្នក)
SqlConnection object ដែលហៅថា sqlConnection1 និង SqlDataAdapter object ដែលហៅថា sqlDataAdapter1 បង្ហាញក្នុង form។
2. ចុចលើ sqlDataAdapter1 ក្នុងសន្លឹក Properties (បង្កើតវាអោយ
ច្បាស់មើល properties ដូចជា event) ពង្រីកជ្រើសរើស Command property ។  អ្នកប្រើ SQL SELECT statement ដែលត្រូវបានប្រតិ្តបត្តិទទួល ទិន្នន័យ data ពីក្នុង database ។ ចុចលើ CommandText property រួច
ហើយចុចលើប៊ូតុង Ellipses ។  Query អ្នកសង់សន្លឹកបង្ហាញ ក្នុង SQL pane ប្តូរ SELECT statement ជាមួយ code ខាងក្រោមនេះ:
SELECT SupplierID, CompanyName
FROM Suppliers
a
3. ការចងទិន្នន័យដោយងាយគ្រាន់តែជាតំលៃទោលទៅក្នុង property នៃ control ។ SQL SELECT ត្រូវបានជ្រើសរើស statement និងត្រឡប់ទៅ ក្នុង columns សំរាប់គ្រប់ row នៅក្នុង table ហើយតំលៃដំបូង (OrderID នៃ row ដំបូង) ។
4. ចុចលើប៊ូតុង OK ក្នុងសន្លឹក Query Builder ដើម្បីរក្សាទុកប្តូរអ្នក បានបង្កើត ។
5. ជាមួយ sqlDataAdapter1 object នៅតែបានជ្រើសរើស ចុចលើ Generate Dataset hyperlink នៅខាងក្រោមនៃសន្លឹក Properties ។ កាល ណាប្រអប់ Generate Dataset dialog box បានបើកចុចលើ OK ដើម្បីបង្កើត
DataSet ថ្មី ។ DataSet object ថ្មីដែលហៅថា dataSet11 បង្ហាញក្រោម form ។
6. ក្នុង Toolbox ទាញ Label control នៅលើ form នៃ button1 រួចហើយបង្កើតវាទីតាំង property ទៅ 16, 72 ។
7. ខណ:ដែល Label control គឺត្រូវបានជ្រើសរើស ទៅក្នុងសន្លឹក Properties រួចហើយពង្រីក (DataBindings) property ។ ជ្រើសរើស (Advanced) property រួចចុចលើប៊ូតុង Ellipse។ សារ:ប្រយោជន៍ នៃការចងទិន្នន័យក្នុងប្រអប់ dialog box ។ អ្នកអាចប្រើប្រអប់ dialog box ទៅ ក្នុងទំរង់ងាយនៃការចង់ទិន្នន័យដែលមាន properties ជាច្រើននៃ control ។
8. Scroll ចុះក្រោម Text property រួចចុចព្រួញ drop-down ។ list នៃអថេរប្រភពទិន្នន័យបង្ហាញ: DataSet11 និងមិនមាន។ ពង្រីក DataSet11 folder ដោយចុចលើសញ្ញាបូក (+) ។ ចុចលើ NumOrders រួចចុចលើ Close ដើម្បីរក្សាប្តូរ ។
a
ប្តូរ Code និងសន្លឹក Text Editor រួចត្រឡប់ Form1 class ។
ក្រោម statement ដែលអ្នកបានបន្ថែមពីក្នុងលំហាត់ពីមុន ។ (DataBindings property សំរាប់ button1 control) វាយសរសេរ statements ខាងក្រោម:
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet11);
10. Compile និងរត់កម្មវិធីម្តងទៀត ។ Label control បង្ហាញចំនួននៃ rows ក្នុងតារាង table (ប្រហែល 830 ប្រសិនបើកអ្នកមិនបានប្តូរទិន្នន័យ ពីក្នុង database ត្រូវបានបង្កើត) ។
11. បិទ form រួចត្រឡប់កម្មវិធី Visual Studio .NET ។
2. ប្រើប្រាស់ការចងទិន្នន័យសាំញ្ញាំ Complex Data Binding អ្នកមានរបៀបប្រើប្រាស់ការចងទិន្នន័យងាយ សំរាប់ភ្ជាប់ property នៃ control មួយទៅតំលៃទោល ក្នុងប្រភពទិន្នន័យ ។ ការចងទិន្នន័យសាំញ្ញាំគឺប្រើ ប្រាស់ប្រសិនប់អ្នកចង់បង្ហាញតំលៃ list ពីប្រភពទិន្នន័យ ។ ក្នុងលំហាត់ខាង ក្រោមនេះ អ្នកនឹងប្រើការចងទិន្នន័យសាំញ្ញាំដើម្បីបង្ហាញបណ្តាឈ្មោះនៃផលិត ផលក្នុងប្រអប់ list box រួចហើយទទួលបាន ProductID នៃផលិតផលដែល អ្នកប្រើប្រាស់បានជ្រើសរើស ។ ក្នុងប្រអប់ ComboBox និង CheckedListBox control មានផ្គត់ផ្គង់ការចងទិន្នន័យសាំញ្ញាំដែលប្រើឈ្មោះដូចបច្ចេកទេស ដែលមាននៅក្នុងលំហាត់ខាងក្រោម ។
បង្កើត form
1. ក្នុងកម្មវិធី Visual Studio .NET បង្កើត project ថ្មីមួយដែលហៅថា ComplexBindingDemo ក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 21 folder ក្នុង My Documents folder របស់អ្នកដែលប្រើ
Windows Application template ។
2. បង្ហាញ Server Explorer (នៅលើ View menu ចុចលើ Server Explorer) ។ ការភ្ជាប់ទិន្នន័យអ្នកត្រូវការប្រើលំហាត់ពីមុន ។
3. ក្នុង Server Explorer​ ទាញតារាង Products table ក្នុងតារាង Tables folder នៅលើ form ។
4. ក្នុងប្រអប់ Toolbox ទាញប្រអប់ TextBox control នៅលើ form, និងបង្កើតទីតាំង Properties 16, 32 ។
5. ក្នុងប្រអប់ Toolbox ទាញប្រអប់ ListBox control នៅលើ form រួចហើយបង្កើត property គឺ 16, 72 ។ បង្កើតទំហំ property គឺ 256, 186 ។ បង្កើតនិងដំឡើងប្រភពទិន្នន័យក្នុងការអនុវត្តន៍នេះគឺគ្រាន់តែ query database
អ្នកនឹងបង្កើតប្រភពទិន្នន័យដែលគ្រាន់តែត្រូវការទទួល (ProductName and ProductID) ហើយមិនបង្កើត Data Manipulation Language (DML) statements ដើម្បីផ្លាស់ប្តូរ database ។
1. ជ្រើសរើស sqlDataAdapter1 object ដែលបង្ហាញក្រោម form ។ ចុចដំឡើង Configure Data Adapter hyperlink នៅខាងក្រោមសន្លឹក Properties ។
2. នៅលើ wizard ចុចលើ Next ជ្រើសរើសទំព័របង្ហាញ Data Connection ។ ប្រើការភ្ជាប់ default connection (ដែលនឹងមានដូចគ្នា កាលណាអ្នកបានទាញតារាង Products table នៅលើ form) រួចហើយចុចលើ Next ។ ជ្រើសរើសទំព័របង្ហាញ Query Type ។
3. បង្កើតច្បាស់លាស់ Use SQL Statement ត្រូវបានជ្រើសរើស រួចហើយចុចលើ Next ។ បង្កើតទំព័របង្ហាញ SQL Statements ។ ប្តូរ SELECT statement នេះដូចខាងក្រោមនេះ:
SELECT ProductID, ProductName
FROM Products
a
4. កាលណាអ្នកបានបញ្ចប់ ចុចលើ Advanced Option។ ប្រអប់ បង្ហាញ Advanced SQL Generation Options dialog box ។ ក្នុង wizard លុប Generate Insert, Update និងលុប Delete Statement។
5. ក្នុង wizard ចុចលើ Next.
6. មើលទំព័រ View Wizard Result ត្រូវបានបង្ហាញប្រាប់ sqlDataAdapter1 គឺបានដំឡើងជោគជ័យ ។
7. ចុចលើ Finish ដើម្បីបិទ wizard ប្រសិនបើអ្នកមើល properties សំរាប់ sqlDataAdapter1 ចាំថា InsertCommand, DeleteCommand និង UpdateCommand properties (បង្ហាញដូចជា (none) ក្នុងសន្លឹក Properties) ។ អ្នកនឹងរៀបចំ text ក្នុង CommandText property នៃ SelectCommand property ។
8. កាលណា sqlDataAdapter1 ត្រូវបានជ្រើសរើស ចុចលើបង្កើត Generate Dataset នៅខាងក្រោមសន្លឹក Properties ។ កាលណាប្រអប់ Generate Dataset dialog box បានបើក អនុញ្ញាតប្រើតំលៃ default រួចចុច លើ OK ។ DataSet ត្រូវបានបង្កើតនិង object, dataSet11 ថ្មីបង្ហាញក្រោមសន្លឹក Form1 ក្នុង Design View ។
ចង ListBox ទៅក្នុង DataSet
1. ក្នុង Design View ក្នុង listBox1 ។ ក្នុងសន្លឹក Properties ចុចលើ DataSource property រួច ជ្រើសរើស DataSet11.Products ពី drop-down list ។
a2. ចុចលើ DisplayMember property និងជ្រើសរើស ProductName ពីក្នុង drop-down list ។ ទិន្នន័យនេះ data ត្រូវបានបង្ហាញ list box ។
3. ចុចលើ ValueMember property រួចជ្រើសរើស ProductID ពី drop-down list ។ កាលណាអ្នកប្រើប្រាស់ user item មួយក្នុងប្រអប់ list box នេះគឺជាតំលៃដែលប្រមូលផ្តុំ item ។
4. ក្នុងសន្លឹក Properties ចុចលើ Event។ ចុចលើ SelectedIndex ដែលប្តូរ event វាយសរសេរ itemSelected រួចចុចលើ Enter ។ itemSelected method បង្ហាញ Code និងសន្លឹក Text Editor។ បន្ថែម code ខាងក្រោមទៅ itemSelected method:
textBox1.Text = listBox1.SelectedValue.ToString();
4. ជ្រើសរើសតំលៃ property ត្រឡប់តំលៃ ValueMember ដែលបាន ជ្រើសរើស ProductID នៃ row ដែលអ្នកប្រើប្រាស់ user ជ្រើសរើស ។
5. ក្នុង Form1 បន្ទាប់ពីហៅ InitializeComponent method វាយ សរសេរ statement ខាងក្រោមដើម្បីបើកការភ្ជាប់ទៅ database និង DataSet:
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet11);
មេរៀន VC#.NET-ចងទិន្នន័យ Data និង Data Set
View detail
មេរៀន VC#.NET-ការគ្រប់គ្រងទិន្នន័យ

មេរៀន VC#.NET-ការគ្រប់គ្រងទិន្នន័យ

ក្នុងជំពូកនេះអ្នកនឹងរៀនអំពីរបៀប: P បង្កើតការភ្ជាប់ database មួយដោយប្រើ Server Explorer ។P ទទួលទិន្នន័យមកវិញពី database និងមើលវាក្នុង graphic ក្នុងកម្ម វិធី Microsoft Visual Studio .NET ។ P បញ្ចូល update និងលុបទិន្នន័យជំនួយក្នុង database ។
1. ប្រើប្រាស់ ADO.NET Database ជាមួយនឹង .NET Microsoft បានសំរេចដើម្បី update ActiveX Data Objects (ADO) និងបានបង្កើត ADO.NET. ADO.NET ផ្ទុកបញ្ចូលការប្រើប្រាស់ ជាច្រើនលើ ADO ។ ប្រសិនមបើអ្នកមានសាខាជាមួយ ADO រួចស្រេចអ្នកនឹង ចំណាំថា object model នៃ ADO.NET ។ Microsoft បានបង្កើត Data Adapter និង DataSet class ដែលផ្គត់ផ្គង់ផ្តាច់ការអនុញ្ញាតទិន្នន័យ data និងប្រមាណវិធី ដែលមានទំហំធំ ។ លំហាត់ក្នុងជំពូកនេះអ្នកអនុញ្ញាតអោយចូល ទៅក្នុង database ដែលបានដំឡើងក្នុង Microsoft SQL Server 2000 ឬ Microsoft SQL Server 2000 Desktop ។ អ្នកអាចបង្កើត SQL Server 2000 Desktop Engine ដោយរត់ Setup.Exe រកមើលនៅក្នុង \Program Files\Microsoft Visual Studio .NET 2003\Setup\MSDE folder (ក្នុង folder នេះវាបានបង្កើតកាលណាអ្នកដំឡើងកម្មវិធី Visual Studio .NET) ។ អ្នកអាចត្រូវការដើម្បី restart កុំព្យូទ័ររបស់អ្នកឡើងវិញដើម្បីចាប់ផ្តើមសេវា SQL Server (ស្តង់ដា Standard version Visual C# .NET 2003 មិនអាចធ្វើ ការជាមួយ SQL Server 2000 ។ ប្រសិនបើអ្នកបានដំឡើង Standard version នៃ Visual C# .NET 2003 សូមដំឡើង Microsoft SQL Server 2000 Desktop Engine) ដើម្បីបង្កើត Microsoft SQL Server 2000 Desktop Engine version នៃ Northwind Traders database បើកក្នុង សន្លឹក command prompt រួចហើយចូលក្នុង \Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples\Setup folder ។ កម្មវិធី osql program ដែលមានទីតាំង\Program Files\Microsoft SQL Server\80\Tools\Binn; អ្នកត្រូវការ PATH command ដើម្បីបន្ថែម directory នេះទៅ computer របស់អ្នកស្រាវជ្រាវ path មុនពេលអ្នក execute command នេះ) ។
a2.  អនុញ្ញាតចូល Database អ្នកនឹងសរសេរកម្មវិធីដែលភ្ជាប់ទៅ database ដែលទទួលបានពី មាតិកាតារាង Products table រួចហើយបង្ហាញ មាតិកា contents ទាំងនោះ។ អ្នកនឹងបង្កើតបែងចែកដែលប្រើ Database Project ដើម្បីភ្ជាបទៅ Northwind database (អ្នកនឹងប្រើ project នេះទៅមើល database) ។ អ្នកនឹងបង្កើត កម្មវិធីប្រើប្រាស់ Windows Form ដែលប្រើប្រាស់ភ្ជាប់ database និងមើល ទិន្នន័យ data ។
ភ្ជាប់ជាមួយ database
1. ប្រើប្រាស់ Visual Studio .NET បង្កើត project ដែលប្រើ Database Project template។ អ្នកនឹងរកមើល template នេះក្នុង Database Projects folder ក្រោម Projects ផ្សេងទៀត ។ ឈ្មោះ project ListProducts និងរក្សាទុកវានៅក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 21 folder ក្នុង My Documents folder របស់អ្នក ។
a
2. កាលណាអ្នកបង្កើត  project ប្រអប់ Data Link dialog box បង្ហាញនិង prompts អ្នកមើលពត៌មានអំពី database ដែលភ្ជាប់ទៅ ។ ចុចលើ Provider  និងត្រួតពិនិត្យមើលកម្មវិធី Microsoft OLE DB Provider សំរាប់ SQL Server អ្នកផ្គត់ផ្គង់ត្រូវបានជ្រើសរើស ។
3. ចុចលើ Connection ជ្រើសរើស SQL Server រួចហើយ and then មើលលក្ខណ:ទូទៅរបស់ពត៌មានដែលត្រូវការដើម្បី log on ចូលទៅក្នុង server ។ ប្រសិនបើអ្នកកំពុងប្រើប្រាស់ SQL Server 2000 Desktop Engine ឈ្មោះ server name នឹង Server របស់អ្នក\VSdotNET2003 រួចហើយអ្នកនឹងជ្រើសរើសប្រើ Use Windows NT Integrated Security option; ម្យ៉ាងទៀត administrator របស់អ្នករកមើលឈ្មោះ user name និង password អ្នកនឹងប្រើ ។ បង្កើតឈ្មោះ database name ទៅ Northwind ។
a3. ប្រសិនបើអ្នកបានបង្កើត Data Link រួចស្រេចអ្នកនឹង prompt មើលជាមួយប្រអប់ Add Database Reference dialog box ជំនួសវិញ ។ ប្រអប់ dialog box នេះនឹង list គ្រប់ database ទាំងអស់ដែលអ្នកបានប្រើ។ ប្រសិនបើកើតហេតុការណ៍ ចុចលើប៊ូតុង Add New Reference ។ ប្រអប់ Data Link Properties dialog box នឹងបង្ហាញ ។
4. ចុចលើ Test Connection ដើម្បីបង្ហាញដែលអ្នកបានបញ្ចូល ពត៌មានត្រឹមត្រូវ ។ ប្រសិនបើពត៌មានគឺត្រឹមត្រូវនឹងមានប្រអប់ message box បង្ហាញ ។ ចុចលើ OK ដើម្បីបិទប្រអប់ message box ។
5. ចុចលើ OK ដើម្បីបិទប្រអប់ Data Link Properties dialog box ។ Server Explorer បង្ហាញពីការភ្ជាប់ទិន្នន័យថ្មី ។
aការភ្ជាប់ទិន្នន័យ data ត្រូវបានផ្តល់អោយឈ្មោះ YourServer \SQLExpress.Northwind.dbo។ SQL Server គឺជាអ្នកផ្គត់ផ្គង់ទៅ server
aចុចលើ Next
aចុចលើ Next បន្តទៀត
aចុចលើ Finish ដើម្បីបញ្ចប់
មើលពត៌មាន product
1. ក្នុង Server Explorer ពង្រីកការភ្ជាប់ទិន្នន័យ data connection និងពង្រីកតារាង Table folder ដែលបង្ហាញ ។ បញ្ជី list ទាំងអស់នៃតារាង ក្នុង database បង្ហាញ ។ ពង្រីកតារាង Product table និងបញ្ជី list នៃ  columns ទាំងអស់ក្នុងតារាងបង្ហាញ ។ ចុចលើ Right-click តារាង Product table រួចចុចលើ Retrieve Data ពីតារាងនៅលើ pop-up menu ។
aលទ្ធផលបង្ហាញក្នុងតារាង Product table
aតារាង Product DataTable និងបង្ហាញដូចក្នុង checkbox
aSuppliers​ Binding Navigator
aតារាង Product Data​ Table ក្នុង NorthwindDataSet.
aធ្វើការជាមួយ Data Binding និង DataSets
a2. បិទសន្លឹកដែលបង្ហាញពត៌មាន Products កាលណាអ្នកបានបញ្ចប់ browsing ។
បង្ហាញ products data ក្នុង Windows Forms application
1. ក្នុង Solution Explorer ចុចលើ right-click Solution ListProducts ។ នៅលើ pop-up menu បន្ថែម Add រួចហើយចុចលើ New Project ។ បន្ថែមប្រអប់ Add New Project dialog box ដែលបានបើក បង្កើត new project ថ្មីនិងបន្ថែមវាទៅ ListProducts ដោយ automatic ។
2. ក្នុង Project Types pane ជ្រើសរើស Visual C# Project រួច ហើយចុចលើ Windows Application ក្នុង Templates pane ។ ឈ្មោះ project DisplayProducts និងផ្ទុកវានៅក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 2០ folder ក្នុង My Documents folder របស់អ្នក រួចចុចលើ OK ។  project​ ថ្មីដែលហៅថា DisplayProducts ត្រូវបានបង្កើត និង Design View នៃ Form1.cs ដែលបានបង្ហាញក្នុងសន្លឹក Design View។
3. ប្តូរឈ្មោះ Rename Form1.cs ទៅ ProductsForm.cs រួចប្តូរ ឈ្មោះនៃ Form1 class ទៅ ProductsForm ។
4. ក្នុងសន្លឹក Design View ចុចលើ form ។ ក្នុងសន្លឹក Properties ប្តូរ Text property នៃ ProductsForm ដើម្បីផលិត ។
5. បង្ហាញ Code View សំរាប់ ProductsForm ។ ក្នុង Code និង សន្លឹក Text Editor រកមើល Main method រួចហើយប្តូរ Application.Run statement ដើម្បីបង្កើតនិងបង្ហាញ ProductsForm object ដូចជា Form1:
Application.Run(new ProductsForm());
6. ត្រឡប់ Design View របស់ ProductsForm ។ ក្នុង Server Explorer ទាញតារាង Product នៅលើ form ។ កត់ចំណាំថា objects ពីនៅ ក្រោម form ដែលហៅថា sqlConnection1 និង sqlDataAdapter1 ។ ដែល sqlConnection1 object មានផ្ទុក properties ដែលលក្ខណ:ពិសេស database ភ្ជាប់ទៅវា ។ អ្នកអាចប្តូរពត៌មាននេះដោយផ្លាស់ប្តូរ Connection String property ក្នុង Properties ។
7. ជ្រើសរើស sqlDataAdapter1 control និង ពិនិត្យមើលសន្លឹក Properties ។ កត់ចំណាំថា DeleteCommand, InsertCommand, SelectCommand និង UpdateCommand properties ។  ដែល SqlCommand objects ទាំងនេះយកតាម ។
a8. ពង្រើកមើល DeleteCommand property កត់ចំណាំថា SQL DELETE statement ដែលត្រូវបានប្រតិ្តបត្តិកាលណាកម្មវិធីត្រូវការលុបទិន្នន័យ delete data ក្នុង CommandText property រួចហើយភ្ជាប់ទៅ database ក្នុងការភ្ជាប់ Connection property ។
9. ជ្រើសរើស CommandText property រួចចុចលើប៊ូតុង Ellipses ប្រអប់ Query Builder dialog box បានបើករួចបង្ហាញ SQL DELETE statement ក្នុង graphical form ជាមួយ SQL form ។
10. ចុចលើ Cancel នៅសន្លឹក Properties ខាងក្រោមកត់ចំណាំថា  មានបី hyperlinks ដែលដំឡើង Data Adapter, Generate Dataset និង Preview Data ។
11. បង្កើត Generate Dataset hyperlink ។ ប្រអប់ Generate Dataset dialog box បានបើក ។
12. ចាកចេញពីក្នុងមាតិការនៃប្រអប់ Generate Dataset dialog box បង្កើតតំលៃ default រួចចុចលើ OK ។ ដែលហៅថា dataSet11 បង្ហាញក្រោម ProductsForm ។
13. ក្នុង Toolbox ដែលជ្រើសរើស DataGrid control រួចហើយទាញ វានៅលើ ProductsForm ។
14. ប្តូរទំហំ Resize ProductsForm គឺ 812, 500 (ទទឹង ​DataGrid និងបណ្តាយ scrollbar) ។ បង្កើត Dock property នៃ dataGrid1(DataGrid
object ត្រូវបានបង្កើតនៅជំហានខាងមុខ) ។ បំពេញ DataGrid object ទៅ
ក្នុង form ។ ខណ:ដែល​​​​​​ dataGrid1 ត្រូវបានជ្រើសរើសបង្កើត DataSource property ទៅក្នុង dataSet11.Products ។
15. ប្តូរ Code និងសន្លឹក Text Editor ដែលបង្ហាញProductsForm.cs (method ដែលហៅថា ProductsForm) ។ ប្តូរ TODO comment ជាមួយ statement ខាងក្រោមនេះ:
sqlDataAdapter1.Fill(dataSet11);
16. Build និង execute កម្មវិធី កាលណា ProductsForm បង្ហាញ បំពេញ DataSet ។  DataGrid (ដែលប្រើ DataSet ដូចជាប្រភព data source) ដែលបង្ហាញមាតិការតារាង Products table ។
a
17. បិទ form និងត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
3. របៀបបន្ថែម code ទៅរក្សាទុក
1. បញ្ជាក់ ProductsForm ត្រូវបានបង្ហាញក្នុង Design View ។ ក្នុង ប្រអប់ Toolbox ទាញ MainMenu control ពីកន្លែងណាមួយទៅក្នុង form ។ control មួយថ្មីដែលហៅថា mainMenu1 បង្ហាញក្រោម form ។
2. ចុចលើ mainMenu1 ។ វាយសរសេរក្នុង caption ត្រូវបានបង្ហាញ ក្នុង menu bar នៃ ProductsForm ។ ប្រើបច្ចេកទេសបង្កើត File menu item (ដោយប្រើ caption &File) ដែលផ្ទុក submenu item  &Save និង submenu item ផ្សេងទៀត E&xit. ឈ្មោះ menu items fileItem, saveItem និង exitItem ។
a3. ក្នុង menu editor ជ្រើសរើស exitItem ។ ក្នុងសន្លឹក Properties ចុចលើ Events ជ្រើសរើសចុចលើ event វាយសរសេរ exitItemClick រួចចុច លើ Enter ។ exitItemClick method បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។
4. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statement ខាងក្រោម ទៅ exitItemClick method:
this.Close();
5. ត្រឡប់ Design View និងជ្រើសរើស saveItem ក្នុង menu editor ។ ក្នុងសន្លឹក Properties ជ្រើសរើស event វាយសរសេរ saveItemClick រួចចុចលើ Enter ។ saveItemClick method បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។
6. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statements ខាងក្រោម ទៅក្នុង saveItemClick method:
try
{
DataSet changedData = dataSet11.GetChanges();
if (changedData != null)
{
int numRows = sqlDataAdapter1.Update(changedData);
MessageBox.Show(“Database updated ” + numRows +
” rows successfully”, “Success”);
dataSet11.AcceptChanges();
}
else
{
MessageBox.Show(“Nothing to save”, “No changes”);
}
}
catch(Exception ex)
{
MessageBox.Show(“An error occurred updating the database: ” +
ex.Message, “Error”, MessageBoxButtons.OK,
MessageBoxIcon.Error);
dataSet11.RejectChanges();
}
7. Build និងរត់ដំណើរការ កាលណា Products form បង្ហាញប្តូរ SupplierID នៃ row ជួរដំបូងគឺ 4 ។ ប្តូរ UnitPrice នៃជួរទីពីរគឺ 50 ។ ខាងលើ ជួរទីបី row (អ្នកបានប្តូរពីជួរ row មុនរបស់វាដែលបានប្តូរត្រូវបានរក្សាទុក) រួច ហើយនៅលើ File menu ចុចលើ Save ។ អ្នកនឹងទទួលបាន Success message box ដែលបង្ហាញពីរជួរដែលត្រូវបានផ្លាស់ប្តូរ ។ ចុចលើ OK រួចបិទ ប្រអប់ message box ។
8. ចុចលើ gray selector (ដែលផ្ទុក arrow) ទៅខាងឆ្វេងនៃជួរទីបី រួចចុចលើ Delete ។ Row 3 មិនបង្ហាញមើល ។ នៅលើ File menu ចុចលើ Save ។
9. ចុចលើ OK ដើម្បីបិទប្រអប់ message box ។ ចាំថា row 3 បង្ហាញឡើងវិញក្នុង DataGrid ។
10. នៅលើ File menu ចុចលើ Exit ដើម្បីបិទកម្មវិធីប្រើប្រាស់រួច ត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
ភ្ជាប់ database
1. បង្កើត project ថ្មីដែលហៅថា ReportOrders ដែលប្រើ Console Application template ។ រក្សាទុក Save វានៅក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 2០ folder ក្នុង My Documents folder របស់អ្នករួចចុចលើ OK ។
2. ក្នុង Solution Explorer ប្តូរឈ្មោះ Class1.cs ទៅក្នុង Report.cs. ក្នុងសន្លឹក Properties ប្តូរឈ្មោះ Class1 class ទៅក្នុង Report ។
3. ក្នុងប្រអប់ Code និងសន្លឹក Text Editor បន្ថែម statement ដូច ខាងក្រោមដែលប្រើ using System; statement:
using System.Data.SqlClient;
System.Data.SqlClient namespace ដែលមានផ្ទុកមាននៅក្នុង ADO.NET classes ដែលប្រើអនុញ្ញាតចូលក្នុង SQL Server ។
4. ទីតាំង Main method នៃ Report class ។ បន្ថែម try/catch ទៅក្នុង Main method ។ គ្រប់ code ទាំងអស់ដែលអ្នកសរសេរអនុញ្ញាតចូល ទៅក្នុង database ។
try
{
// You will add your code here in a moment
}
catch(Exception e)
{
Console.WriteLine(
“An? error occurred accessing the database: ” +e.Message);
}
5. ប្តូរ code ខាងក្រោមដែលភ្ជាប់ទៅ database:
SqlConnection dataConnection = new SqlConnection();
dataConnection.ConnectionString = “Integrated Security=true;” +
“Initial Catalog=Northwind;” +
“Data Source=YourServer\\VSdotNET2003″;
dataConnection.Open();



ក្នុងជំពូកនេះអ្នកនឹងរៀនអំពីរបៀប: P បង្កើតការភ្ជាប់ database មួយដោយប្រើ Server Explorer ។P ទទួលទិន្នន័យមកវិញពី database និងមើលវាក្នុង graphic ក្នុងកម្ម វិធី Microsoft Visual Studio .NET ។ P បញ្ចូល update និងលុបទិន្នន័យជំនួយក្នុង database ។
1. ប្រើប្រាស់ ADO.NET Database ជាមួយនឹង .NET Microsoft បានសំរេចដើម្បី update ActiveX Data Objects (ADO) និងបានបង្កើត ADO.NET. ADO.NET ផ្ទុកបញ្ចូលការប្រើប្រាស់ ជាច្រើនលើ ADO ។ ប្រសិនមបើអ្នកមានសាខាជាមួយ ADO រួចស្រេចអ្នកនឹង ចំណាំថា object model នៃ ADO.NET ។ Microsoft បានបង្កើត Data Adapter និង DataSet class ដែលផ្គត់ផ្គង់ផ្តាច់ការអនុញ្ញាតទិន្នន័យ data និងប្រមាណវិធី ដែលមានទំហំធំ ។ លំហាត់ក្នុងជំពូកនេះអ្នកអនុញ្ញាតអោយចូល ទៅក្នុង database ដែលបានដំឡើងក្នុង Microsoft SQL Server 2000 ឬ Microsoft SQL Server 2000 Desktop ។ អ្នកអាចបង្កើត SQL Server 2000 Desktop Engine ដោយរត់ Setup.Exe រកមើលនៅក្នុង \Program Files\Microsoft Visual Studio .NET 2003\Setup\MSDE folder (ក្នុង folder នេះវាបានបង្កើតកាលណាអ្នកដំឡើងកម្មវិធី Visual Studio .NET) ។ អ្នកអាចត្រូវការដើម្បី restart កុំព្យូទ័ររបស់អ្នកឡើងវិញដើម្បីចាប់ផ្តើមសេវា SQL Server (ស្តង់ដា Standard version Visual C# .NET 2003 មិនអាចធ្វើ ការជាមួយ SQL Server 2000 ។ ប្រសិនបើអ្នកបានដំឡើង Standard version នៃ Visual C# .NET 2003 សូមដំឡើង Microsoft SQL Server 2000 Desktop Engine) ដើម្បីបង្កើត Microsoft SQL Server 2000 Desktop Engine version នៃ Northwind Traders database បើកក្នុង សន្លឹក command prompt រួចហើយចូលក្នុង \Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples\Setup folder ។ កម្មវិធី osql program ដែលមានទីតាំង\Program Files\Microsoft SQL Server\80\Tools\Binn; អ្នកត្រូវការ PATH command ដើម្បីបន្ថែម directory នេះទៅ computer របស់អ្នកស្រាវជ្រាវ path មុនពេលអ្នក execute command នេះ) ។
a2.  អនុញ្ញាតចូល Database អ្នកនឹងសរសេរកម្មវិធីដែលភ្ជាប់ទៅ database ដែលទទួលបានពី មាតិកាតារាង Products table រួចហើយបង្ហាញ មាតិកា contents ទាំងនោះ។ អ្នកនឹងបង្កើតបែងចែកដែលប្រើ Database Project ដើម្បីភ្ជាបទៅ Northwind database (អ្នកនឹងប្រើ project នេះទៅមើល database) ។ អ្នកនឹងបង្កើត កម្មវិធីប្រើប្រាស់ Windows Form ដែលប្រើប្រាស់ភ្ជាប់ database និងមើល ទិន្នន័យ data ។
ភ្ជាប់ជាមួយ database
1. ប្រើប្រាស់ Visual Studio .NET បង្កើត project ដែលប្រើ Database Project template។ អ្នកនឹងរកមើល template នេះក្នុង Database Projects folder ក្រោម Projects ផ្សេងទៀត ។ ឈ្មោះ project ListProducts និងរក្សាទុកវានៅក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 21 folder ក្នុង My Documents folder របស់អ្នក ។
a
2. កាលណាអ្នកបង្កើត  project ប្រអប់ Data Link dialog box បង្ហាញនិង prompts អ្នកមើលពត៌មានអំពី database ដែលភ្ជាប់ទៅ ។ ចុចលើ Provider  និងត្រួតពិនិត្យមើលកម្មវិធី Microsoft OLE DB Provider សំរាប់ SQL Server អ្នកផ្គត់ផ្គង់ត្រូវបានជ្រើសរើស ។
3. ចុចលើ Connection ជ្រើសរើស SQL Server រួចហើយ and then មើលលក្ខណ:ទូទៅរបស់ពត៌មានដែលត្រូវការដើម្បី log on ចូលទៅក្នុង server ។ ប្រសិនបើអ្នកកំពុងប្រើប្រាស់ SQL Server 2000 Desktop Engine ឈ្មោះ server name នឹង Server របស់អ្នក\VSdotNET2003 រួចហើយអ្នកនឹងជ្រើសរើសប្រើ Use Windows NT Integrated Security option; ម្យ៉ាងទៀត administrator របស់អ្នករកមើលឈ្មោះ user name និង password អ្នកនឹងប្រើ ។ បង្កើតឈ្មោះ database name ទៅ Northwind ។
a3. ប្រសិនបើអ្នកបានបង្កើត Data Link រួចស្រេចអ្នកនឹង prompt មើលជាមួយប្រអប់ Add Database Reference dialog box ជំនួសវិញ ។ ប្រអប់ dialog box នេះនឹង list គ្រប់ database ទាំងអស់ដែលអ្នកបានប្រើ។ ប្រសិនបើកើតហេតុការណ៍ ចុចលើប៊ូតុង Add New Reference ។ ប្រអប់ Data Link Properties dialog box នឹងបង្ហាញ ។
4. ចុចលើ Test Connection ដើម្បីបង្ហាញដែលអ្នកបានបញ្ចូល ពត៌មានត្រឹមត្រូវ ។ ប្រសិនបើពត៌មានគឺត្រឹមត្រូវនឹងមានប្រអប់ message box បង្ហាញ ។ ចុចលើ OK ដើម្បីបិទប្រអប់ message box ។
5. ចុចលើ OK ដើម្បីបិទប្រអប់ Data Link Properties dialog box ។ Server Explorer បង្ហាញពីការភ្ជាប់ទិន្នន័យថ្មី ។
aការភ្ជាប់ទិន្នន័យ data ត្រូវបានផ្តល់អោយឈ្មោះ YourServer \SQLExpress.Northwind.dbo។ SQL Server គឺជាអ្នកផ្គត់ផ្គង់ទៅ server
aចុចលើ Next
aចុចលើ Next បន្តទៀត
aចុចលើ Finish ដើម្បីបញ្ចប់
មើលពត៌មាន product
1. ក្នុង Server Explorer ពង្រីកការភ្ជាប់ទិន្នន័យ data connection និងពង្រីកតារាង Table folder ដែលបង្ហាញ ។ បញ្ជី list ទាំងអស់នៃតារាង ក្នុង database បង្ហាញ ។ ពង្រីកតារាង Product table និងបញ្ជី list នៃ  columns ទាំងអស់ក្នុងតារាងបង្ហាញ ។ ចុចលើ Right-click តារាង Product table រួចចុចលើ Retrieve Data ពីតារាងនៅលើ pop-up menu ។
aលទ្ធផលបង្ហាញក្នុងតារាង Product table
aតារាង Product DataTable និងបង្ហាញដូចក្នុង checkbox
aSuppliers​ Binding Navigator
aតារាង Product Data​ Table ក្នុង NorthwindDataSet.
aធ្វើការជាមួយ Data Binding និង DataSets
a2. បិទសន្លឹកដែលបង្ហាញពត៌មាន Products កាលណាអ្នកបានបញ្ចប់ browsing ។
បង្ហាញ products data ក្នុង Windows Forms application
1. ក្នុង Solution Explorer ចុចលើ right-click Solution ListProducts ។ នៅលើ pop-up menu បន្ថែម Add រួចហើយចុចលើ New Project ។ បន្ថែមប្រអប់ Add New Project dialog box ដែលបានបើក បង្កើត new project ថ្មីនិងបន្ថែមវាទៅ ListProducts ដោយ automatic ។
2. ក្នុង Project Types pane ជ្រើសរើស Visual C# Project រួច ហើយចុចលើ Windows Application ក្នុង Templates pane ។ ឈ្មោះ project DisplayProducts និងផ្ទុកវានៅក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 2០ folder ក្នុង My Documents folder របស់អ្នក រួចចុចលើ OK ។  project​ ថ្មីដែលហៅថា DisplayProducts ត្រូវបានបង្កើត និង Design View នៃ Form1.cs ដែលបានបង្ហាញក្នុងសន្លឹក Design View។
3. ប្តូរឈ្មោះ Rename Form1.cs ទៅ ProductsForm.cs រួចប្តូរ ឈ្មោះនៃ Form1 class ទៅ ProductsForm ។
4. ក្នុងសន្លឹក Design View ចុចលើ form ។ ក្នុងសន្លឹក Properties ប្តូរ Text property នៃ ProductsForm ដើម្បីផលិត ។
5. បង្ហាញ Code View សំរាប់ ProductsForm ។ ក្នុង Code និង សន្លឹក Text Editor រកមើល Main method រួចហើយប្តូរ Application.Run statement ដើម្បីបង្កើតនិងបង្ហាញ ProductsForm object ដូចជា Form1:
Application.Run(new ProductsForm());
6. ត្រឡប់ Design View របស់ ProductsForm ។ ក្នុង Server Explorer ទាញតារាង Product នៅលើ form ។ កត់ចំណាំថា objects ពីនៅ ក្រោម form ដែលហៅថា sqlConnection1 និង sqlDataAdapter1 ។ ដែល sqlConnection1 object មានផ្ទុក properties ដែលលក្ខណ:ពិសេស database ភ្ជាប់ទៅវា ។ អ្នកអាចប្តូរពត៌មាននេះដោយផ្លាស់ប្តូរ Connection String property ក្នុង Properties ។
7. ជ្រើសរើស sqlDataAdapter1 control និង ពិនិត្យមើលសន្លឹក Properties ។ កត់ចំណាំថា DeleteCommand, InsertCommand, SelectCommand និង UpdateCommand properties ។  ដែល SqlCommand objects ទាំងនេះយកតាម ។
a8. ពង្រើកមើល DeleteCommand property កត់ចំណាំថា SQL DELETE statement ដែលត្រូវបានប្រតិ្តបត្តិកាលណាកម្មវិធីត្រូវការលុបទិន្នន័យ delete data ក្នុង CommandText property រួចហើយភ្ជាប់ទៅ database ក្នុងការភ្ជាប់ Connection property ។
9. ជ្រើសរើស CommandText property រួចចុចលើប៊ូតុង Ellipses ប្រអប់ Query Builder dialog box បានបើករួចបង្ហាញ SQL DELETE statement ក្នុង graphical form ជាមួយ SQL form ។
10. ចុចលើ Cancel នៅសន្លឹក Properties ខាងក្រោមកត់ចំណាំថា  មានបី hyperlinks ដែលដំឡើង Data Adapter, Generate Dataset និង Preview Data ។
11. បង្កើត Generate Dataset hyperlink ។ ប្រអប់ Generate Dataset dialog box បានបើក ។
12. ចាកចេញពីក្នុងមាតិការនៃប្រអប់ Generate Dataset dialog box បង្កើតតំលៃ default រួចចុចលើ OK ។ ដែលហៅថា dataSet11 បង្ហាញក្រោម ProductsForm ។
13. ក្នុង Toolbox ដែលជ្រើសរើស DataGrid control រួចហើយទាញ វានៅលើ ProductsForm ។
14. ប្តូរទំហំ Resize ProductsForm គឺ 812, 500 (ទទឹង ​DataGrid និងបណ្តាយ scrollbar) ។ បង្កើត Dock property នៃ dataGrid1(DataGrid
object ត្រូវបានបង្កើតនៅជំហានខាងមុខ) ។ បំពេញ DataGrid object ទៅ
ក្នុង form ។ ខណ:ដែល​​​​​​ dataGrid1 ត្រូវបានជ្រើសរើសបង្កើត DataSource property ទៅក្នុង dataSet11.Products ។
15. ប្តូរ Code និងសន្លឹក Text Editor ដែលបង្ហាញProductsForm.cs (method ដែលហៅថា ProductsForm) ។ ប្តូរ TODO comment ជាមួយ statement ខាងក្រោមនេះ:
sqlDataAdapter1.Fill(dataSet11);
16. Build និង execute កម្មវិធី កាលណា ProductsForm បង្ហាញ បំពេញ DataSet ។  DataGrid (ដែលប្រើ DataSet ដូចជាប្រភព data source) ដែលបង្ហាញមាតិការតារាង Products table ។
a
17. បិទ form និងត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
3. របៀបបន្ថែម code ទៅរក្សាទុក
1. បញ្ជាក់ ProductsForm ត្រូវបានបង្ហាញក្នុង Design View ។ ក្នុង ប្រអប់ Toolbox ទាញ MainMenu control ពីកន្លែងណាមួយទៅក្នុង form ។ control មួយថ្មីដែលហៅថា mainMenu1 បង្ហាញក្រោម form ។
2. ចុចលើ mainMenu1 ។ វាយសរសេរក្នុង caption ត្រូវបានបង្ហាញ ក្នុង menu bar នៃ ProductsForm ។ ប្រើបច្ចេកទេសបង្កើត File menu item (ដោយប្រើ caption &File) ដែលផ្ទុក submenu item  &Save និង submenu item ផ្សេងទៀត E&xit. ឈ្មោះ menu items fileItem, saveItem និង exitItem ។
a3. ក្នុង menu editor ជ្រើសរើស exitItem ។ ក្នុងសន្លឹក Properties ចុចលើ Events ជ្រើសរើសចុចលើ event វាយសរសេរ exitItemClick រួចចុច លើ Enter ។ exitItemClick method បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។
4. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statement ខាងក្រោម ទៅ exitItemClick method:
this.Close();
5. ត្រឡប់ Design View និងជ្រើសរើស saveItem ក្នុង menu editor ។ ក្នុងសន្លឹក Properties ជ្រើសរើស event វាយសរសេរ saveItemClick រួចចុចលើ Enter ។ saveItemClick method បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។
6. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statements ខាងក្រោម ទៅក្នុង saveItemClick method:
try
{
DataSet changedData = dataSet11.GetChanges();
if (changedData != null)
{
int numRows = sqlDataAdapter1.Update(changedData);
MessageBox.Show(“Database updated ” + numRows +
” rows successfully”, “Success”);
dataSet11.AcceptChanges();
}
else
{
MessageBox.Show(“Nothing to save”, “No changes”);
}
}
catch(Exception ex)
{
MessageBox.Show(“An error occurred updating the database: ” +
ex.Message, “Error”, MessageBoxButtons.OK,
MessageBoxIcon.Error);
dataSet11.RejectChanges();
}
7. Build និងរត់ដំណើរការ កាលណា Products form បង្ហាញប្តូរ SupplierID នៃ row ជួរដំបូងគឺ 4 ។ ប្តូរ UnitPrice នៃជួរទីពីរគឺ 50 ។ ខាងលើ ជួរទីបី row (អ្នកបានប្តូរពីជួរ row មុនរបស់វាដែលបានប្តូរត្រូវបានរក្សាទុក) រួច ហើយនៅលើ File menu ចុចលើ Save ។ អ្នកនឹងទទួលបាន Success message box ដែលបង្ហាញពីរជួរដែលត្រូវបានផ្លាស់ប្តូរ ។ ចុចលើ OK រួចបិទ ប្រអប់ message box ។
8. ចុចលើ gray selector (ដែលផ្ទុក arrow) ទៅខាងឆ្វេងនៃជួរទីបី រួចចុចលើ Delete ។ Row 3 មិនបង្ហាញមើល ។ នៅលើ File menu ចុចលើ Save ។
9. ចុចលើ OK ដើម្បីបិទប្រអប់ message box ។ ចាំថា row 3 បង្ហាញឡើងវិញក្នុង DataGrid ។
10. នៅលើ File menu ចុចលើ Exit ដើម្បីបិទកម្មវិធីប្រើប្រាស់រួច ត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
ភ្ជាប់ database
1. បង្កើត project ថ្មីដែលហៅថា ReportOrders ដែលប្រើ Console Application template ។ រក្សាទុក Save វានៅក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 2០ folder ក្នុង My Documents folder របស់អ្នករួចចុចលើ OK ។
2. ក្នុង Solution Explorer ប្តូរឈ្មោះ Class1.cs ទៅក្នុង Report.cs. ក្នុងសន្លឹក Properties ប្តូរឈ្មោះ Class1 class ទៅក្នុង Report ។
3. ក្នុងប្រអប់ Code និងសន្លឹក Text Editor បន្ថែម statement ដូច ខាងក្រោមដែលប្រើ using System; statement:
using System.Data.SqlClient;
System.Data.SqlClient namespace ដែលមានផ្ទុកមាននៅក្នុង ADO.NET classes ដែលប្រើអនុញ្ញាតចូលក្នុង SQL Server ។
4. ទីតាំង Main method នៃ Report class ។ បន្ថែម try/catch ទៅក្នុង Main method ។ គ្រប់ code ទាំងអស់ដែលអ្នកសរសេរអនុញ្ញាតចូល ទៅក្នុង database ។
try
{
// You will add your code here in a moment
}
catch(Exception e)
{
Console.WriteLine(
“An? error occurred accessing the database: ” +e.Message);
}
5. ប្តូរ code ខាងក្រោមដែលភ្ជាប់ទៅ database:
SqlConnection dataConnection = new SqlConnection();
dataConnection.ConnectionString = “Integrated Security=true;” +
“Initial Catalog=Northwind;” +
“Data Source=YourServer\\VSdotNET2003″;
dataConnection.Open();



មេរៀន VC#.NET-ការគ្រប់គ្រងទិន្នន័យ
View detail
មេរៀន VC#.NET-ប្រើបង្កើតសមាសភាព GUI

មេរៀន VC#.NET-ប្រើបង្កើតសមាសភាព GUI

ក្នុងជំពូកនេះមានបង្ហាញពីរបៀប: P បង្កើត user control មួយ P បញ្ជាក់ទិន្នន័យនិងសំដែង event លើ user control មួយ។P Add បន្ថែម control មួយទៅប្រអប់ Toolbox ។P Extend មួយនៃ Microsoft .NET Framework class ដើម្បីបន្ថែមមុខងារកម្មសិទ្ធផ្ទាល់របស់អ្នក ។P Subclass ដែលមាននៅលើ user control ដោយប្រើ inheritance ។
1. សង់បង្កើត Login User Control ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងបង្កើត Login user control ដែល មើលឃើញពីមុន ។ LoginControl project និង LoginTest project ក្នុង ជំពូកនេះប្រើ Windows Control Library template ។ ដែល template នេះគឺជាអថេរលើកម្មវិធី Visual Studio .NET Professional, Enterprise Developer ឬ Enterprise Architect edition ។ ដែលប្រើស្តង់ដា Standard version នៃ Visual C# .NET 2003 ។
បង្កើត Login user control
1. ក្នុងកម្មវិធី Visual Studio .NET បង្កើត project ថ្មីដែលប្រើសន្លឹក Windows Control Library template ។ ដែលហៅថា project Login Control រួចហើយបង្កើតទីតាំងដូចជា\Microsoft Press\Visual C# Step By Step\Chapter 19 ក្នុង My Documents folder របស់អ្នក ។
2. ក្នុង Solution Explorer ប្តូរឈ្មោះ filename នៃ UserControl1.cs ទៅ LoginControl.cs ។ ប្តូរទៅ Class View (នៅលើ View menu ចុចលើ Class View) រួចប្តូរឈ្មោះ UserControl1 class ទៅ Login ។
3. ប្តូរទំហំ Size property នៃ Login control គឺ 400, 300 ។
4. ក្នុងប្រអប់ Toolbox ទាញ Label control ពីនិងប្រអប់ TextBox controls ពីរនិង ErrorProvider control មួយនិងមួយទៀត Button control ដែលមាននៅលើ form ។ បង្កើត properties ដោយប្រើតំលៃតារាងដូចខាង
ក្រោមនេះ ;
 Size100, 23
 Textuser name label
label2(Name)passwordLabel
 Location32, 128
 Size100, 23
 Textpassword label
textBox1 (Name)userNameText
 Location140, 48
 Size220, 20
 Textuser name
textBox2 (Name)passwordText
 Location140, 128
 PasswordChar*
 Size220, 20
 Textpassword
button1 (Name)loginButton
 Location150, 220
 Size100, 36
 TextLogin
errorProvider1(Name)loginError
និយមន័យ properties សំរាប់ user control
1. ក្នុង Class View ចុចលើ right-click ក្នុង Login class ចុចបន្ថែម Add រួចហើយចុចលើ Add Property នៅលើ pop-up menu ។ កាលណា C# Property Wizard បង្ហាញជ្រើសរើស String ពីក្នុងប្រភេទ Property combo box រួចហើយវាយសរសេរ UserNameLabel ក្នុងឈ្មោះ Property Name text box ។
a
2. រួចហើយ UserNameLabel property ដោយប្តូរ code ក្នុង property ដូចខាងក្រោមនេះ:
public string UserNameLabel
{
get
{
return userNameLabel.Text;
}
set
{
userNameLabel.Text = value;
}
}

3. បង្កើត public get/set string property ដែលហៅថា PasswordLabel ដោយប្រើមធ្យោបាយដូចគ្នា ដែលបានបង្កើត userName Label property ។ បន្ថែម code ទៅដែលបង្ហាញ Text property នៃ passwordLabel control ដូចខាងក្រោមនេះ:
public string PasswordLabel
{
get
{
return passwordLabel.Text;
}
set
{
passwordLabel.Text = value;
}
}
4. បង្កើត public get/set string ទីបីដែលហៅ LoginButtonText ។ បន្ថែម statements ដែលអនុញ្ញាត read និង write Text property ចូលក្នុង Login បាន:
public string LoginButtonText
{
get
{
return loginButton.Text;
}
set
{
loginButton.Text = value;
}
}
5. បង្កើត public write-only string មួយ ដែលហៅថា UserName សរសេរតំលៃដែលបានអនុវត្តក្នុងពេលរត់ដំណើរការ Text property នៃឈ្មោះ userNameText ។ បន្ថែម Browsable(false) ។
[Browsable(false)]
public string UserName
{
set
{
userNameText.Text = value;
}
}
6. បង្កើត write-only ផ្សេងទៀតដែលមិនមាន non-browsable public string ដែលហៅថា Password ដែលអនុញ្ញាតអោយអ្នកសរសេរ
កម្មវិធី បង្កើតតំលៃ default សំរាប់  passwordText control:
[Browsable(false)]
public string Password
{
set
{
passwordText.Text = value;
}
}
បញ្ជាក់ data និង សំដែង event
1. ត្រឡប់ចូលក្នុង Design View ដែលមើលឃើញ LoginControl.cs. ចុចលើប៊ូតុង Login រួចជ្រើសរើសសន្លឹក Properties ។ ចុចលើប៊ូតុង Events ក្នុង Click event វាយសរសេរ loginClick រួចចុចលើ Enter ។
2. ក្នុង loginClick method បន្ថែម statements ខាងក្រោមដើម្បី
បង្កើតច្បាស់លាស់ user ដែលមានពត៌មាននៅក្នុង userNameText និង passwordText controls បង្ហាញ error icon ប្រសិនបើមានករណីដូចខាង ក្រោមនេះ:
if(userNameText.Text.Length ==? 0)
{
loginError.SetError(userNameText,
“Please enter a user name”);
return;
}
if (passwordText.Text.Length == 0)
{
loginError.SetError(passwordText,
“Please enter a password”);
return;
}
3. Scroll មើលខាងលើនៃ Login class រួចបន្ថែម public event ខាងក្រោមនេះ:
public event System.EventHandler LoginSuccess;
public event System.EventHandler LoginFail;
4. ត្រឡប់ចូលក្នុង loginClick event method ។ បន្ទាប់ code ដែលបានឆែកមើលប្រអប់ Password text box បន្ថែម statements ខាង
ក្រោមបញ្ជាក់ពីឈ្មោះ user name និង password ។
if (userNameAndPasswordAreValid(userNameText.Text,
passwordText.Text))
{
if (LoginSuccess!= null)
{
LoginSuccess(this, new System.EventArgs());
}
}
else
{
if (LoginFail != null)
{
LoginFail(this, new System.EventArgs());
}
}
5. នៅលើ Build menu ចុចលើ Build Solution ដើម្បី compile project ។
2. ប្រើប្រាស់ Login User Control
លំហាត់ខាងក្រោមនេះ អ្នកនឹងបន្ថែម Login user control ដើម្បី Toolbox រួចហើយបង្កើតកម្មវិធីប្រើប្រាស់បានងាយ ។ បន្ថែម Login user control ទៅក្នុងប្រអប់ Toolbox ។
1. នៅលើ Tools menu ចុចលើ Add/Remove Toolbox Items។  ប្រអប់ Customize Toolbox dialog box បានបើកឡើង ។ អ្នកអាចប្រើប្រអប់ dialog box នេះបន្ថែមទៅ COM controls និង .NET Framework controls
(ដែលរួមមាន user controls) ទៅក្នុង toolbar ។ ចុចលើសមាសភាព.NET Framework (វាត្រូវបានជ្រើសរើស default) ។
a
2. ចុចលើ Browse រួចមើលក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 19\LoginControl\bin\Debug folder ក្នុង My Documents folder របស់អ្នក ។ ចុចលើ LoginControl.dll (user control នេះដែលអ្នកទើបតែបង្កើត) រួចចុចលើ Open ។ Login control (ក្នុង namespace LoginControl) នឹងដែលបានបន្ថែមទៅ list នៃសមាសភាព .NET Framework ។ ចុចលើ OK
3. ប្តូរ Design View ចុចលើ Toolbox រួចហើយចុចលើ General ។  ពេលនោះ Login control បង្ហាញ ។
aបង្កើតតែសកម្មវិធីប្រើប្រាស់
1. បង្កើត project ថ្មីដោយប្រើ Windows Application template ដែលហៅថា LoginTest ។ បង្កើតក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 19 folder ក្នុង My Documents folder របស់អ្នក។ ជ្រើសរើស Add To Solution radio រួចហើយចុចលើ OK ។
1. បន្ថែម Add To Solution អនុញ្ញាតអោយអ្នកមានច្រើនជាងមួយ project បើកក្នុងពេលតែមួយនៃ Microsoft Visual Studio .NET ។
2. បន្ទាប់ពីតែសកម្មវិធីប្រើប្រាស់ត្រូវបានបង្កើតចុចលើ Project menu រួចជ្រើសរើសបង្កើត StartUp Project ។ កាលណាអ្នក build និង execute កម្មវិធីប្រើប្រាស់ចុងក្រោយ ។
3. មើល Form1 ក្នុង Design View រួចហើយប្តូរទំហំ Size property គឺ 456, 360 ។
4. ក្នុងប្រអប់ Toolbox ចុចលើ General ។ អ្នកនឹងឃើញ Login control ។ ទាញ Login control លើ form ។ បង្កើតវាទីតាំង 20, 20 ។
5. ចុចលើ Form1 ក្នុង Design View រួចហើយប្តូរ BackColor property ទៅ IndianRed ។ ប្តូរ ForeColor property ទៅ LightGray ។
6. ចុចលើ Login user control (វាហៅថា login1) រួចសាកល្បងក្នុង properties របស់វានៅក្នុងសន្លឹក Properties ។ ប៊ូតុងនៅលើ Login នឹងប្តូរ ។ ប្តូរ PasswordLabel property ទៅ Password: និង UserNameLabel property ទៅឈ្មោះ Name:
login1.UserNameLabel = “Name:”;
7. ក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events ដើម្បីមើលអថេរ events សំរាប់ login1 control ។ អ្នកនឹងឃើញ LoginFail និង LoginSuccess ទាំងអស់ដែលនៅខាងមុខ events ។ រួចចុចលើ LoginFail event វាយសរសេរ loginFail រួចហើយចុចលើ Enter ។
MessageBox.Show(“Login failed”, “Fail”);
8. ត្រឡប់ចូលក្នុង Design View របស់ Form1 ជ្រើសរើសសន្លឹក Properties (ដែលបង្ហាញ events) វាយសរសេរ loginSuccess ក្នុង LoginSuccess event រួចហើយចុចលើ Enter ។ បន្ថែម statement ខាងក្រោមកាលណា loginSuccess method បង្ហាញក្នុង Code View:
MessageBox.Show(“Login succeeded”,”Success”);
9. នៅលើ Debug menu ចុចលើ Start ដើម្បី compile និងរត់ដំណើរ ការកម្មវិធីប្រើប្រាស់ LoginTest ។ កាលណា form បង្ហាញវាយសរសេរឈ្មោះ របស់អ្នកក្នុងឈ្មោះ Name text វាយសរសេរ Hello ក្នុងប្រអប់ Password text box ។
a9. កាលណាបានបញ្ចប់ បិទ form រួចត្រឡប់ទៅកម្មវិធី Visual Studio .NET។
ក្នុងជំពូកនេះមានបង្ហាញពីរបៀប: P បង្កើត user control មួយ P បញ្ជាក់ទិន្នន័យនិងសំដែង event លើ user control មួយ។P Add បន្ថែម control មួយទៅប្រអប់ Toolbox ។P Extend មួយនៃ Microsoft .NET Framework class ដើម្បីបន្ថែមមុខងារកម្មសិទ្ធផ្ទាល់របស់អ្នក ។P Subclass ដែលមាននៅលើ user control ដោយប្រើ inheritance ។
1. សង់បង្កើត Login User Control ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងបង្កើត Login user control ដែល មើលឃើញពីមុន ។ LoginControl project និង LoginTest project ក្នុង ជំពូកនេះប្រើ Windows Control Library template ។ ដែល template នេះគឺជាអថេរលើកម្មវិធី Visual Studio .NET Professional, Enterprise Developer ឬ Enterprise Architect edition ។ ដែលប្រើស្តង់ដា Standard version នៃ Visual C# .NET 2003 ។
បង្កើត Login user control
1. ក្នុងកម្មវិធី Visual Studio .NET បង្កើត project ថ្មីដែលប្រើសន្លឹក Windows Control Library template ។ ដែលហៅថា project Login Control រួចហើយបង្កើតទីតាំងដូចជា\Microsoft Press\Visual C# Step By Step\Chapter 19 ក្នុង My Documents folder របស់អ្នក ។
2. ក្នុង Solution Explorer ប្តូរឈ្មោះ filename នៃ UserControl1.cs ទៅ LoginControl.cs ។ ប្តូរទៅ Class View (នៅលើ View menu ចុចលើ Class View) រួចប្តូរឈ្មោះ UserControl1 class ទៅ Login ។
3. ប្តូរទំហំ Size property នៃ Login control គឺ 400, 300 ។
4. ក្នុងប្រអប់ Toolbox ទាញ Label control ពីនិងប្រអប់ TextBox controls ពីរនិង ErrorProvider control មួយនិងមួយទៀត Button control ដែលមាននៅលើ form ។ បង្កើត properties ដោយប្រើតំលៃតារាងដូចខាង
ក្រោមនេះ ;
 Size100, 23
 Textuser name label
label2(Name)passwordLabel
 Location32, 128
 Size100, 23
 Textpassword label
textBox1 (Name)userNameText
 Location140, 48
 Size220, 20
 Textuser name
textBox2 (Name)passwordText
 Location140, 128
 PasswordChar*
 Size220, 20
 Textpassword
button1 (Name)loginButton
 Location150, 220
 Size100, 36
 TextLogin
errorProvider1(Name)loginError
និយមន័យ properties សំរាប់ user control
1. ក្នុង Class View ចុចលើ right-click ក្នុង Login class ចុចបន្ថែម Add រួចហើយចុចលើ Add Property នៅលើ pop-up menu ។ កាលណា C# Property Wizard បង្ហាញជ្រើសរើស String ពីក្នុងប្រភេទ Property combo box រួចហើយវាយសរសេរ UserNameLabel ក្នុងឈ្មោះ Property Name text box ។
a
2. រួចហើយ UserNameLabel property ដោយប្តូរ code ក្នុង property ដូចខាងក្រោមនេះ:
public string UserNameLabel
{
get
{
return userNameLabel.Text;
}
set
{
userNameLabel.Text = value;
}
}

3. បង្កើត public get/set string property ដែលហៅថា PasswordLabel ដោយប្រើមធ្យោបាយដូចគ្នា ដែលបានបង្កើត userName Label property ។ បន្ថែម code ទៅដែលបង្ហាញ Text property នៃ passwordLabel control ដូចខាងក្រោមនេះ:
public string PasswordLabel
{
get
{
return passwordLabel.Text;
}
set
{
passwordLabel.Text = value;
}
}
4. បង្កើត public get/set string ទីបីដែលហៅ LoginButtonText ។ បន្ថែម statements ដែលអនុញ្ញាត read និង write Text property ចូលក្នុង Login បាន:
public string LoginButtonText
{
get
{
return loginButton.Text;
}
set
{
loginButton.Text = value;
}
}
5. បង្កើត public write-only string មួយ ដែលហៅថា UserName សរសេរតំលៃដែលបានអនុវត្តក្នុងពេលរត់ដំណើរការ Text property នៃឈ្មោះ userNameText ។ បន្ថែម Browsable(false) ។
[Browsable(false)]
public string UserName
{
set
{
userNameText.Text = value;
}
}
6. បង្កើត write-only ផ្សេងទៀតដែលមិនមាន non-browsable public string ដែលហៅថា Password ដែលអនុញ្ញាតអោយអ្នកសរសេរ
កម្មវិធី បង្កើតតំលៃ default សំរាប់  passwordText control:
[Browsable(false)]
public string Password
{
set
{
passwordText.Text = value;
}
}
បញ្ជាក់ data និង សំដែង event
1. ត្រឡប់ចូលក្នុង Design View ដែលមើលឃើញ LoginControl.cs. ចុចលើប៊ូតុង Login រួចជ្រើសរើសសន្លឹក Properties ។ ចុចលើប៊ូតុង Events ក្នុង Click event វាយសរសេរ loginClick រួចចុចលើ Enter ។
2. ក្នុង loginClick method បន្ថែម statements ខាងក្រោមដើម្បី
បង្កើតច្បាស់លាស់ user ដែលមានពត៌មាននៅក្នុង userNameText និង passwordText controls បង្ហាញ error icon ប្រសិនបើមានករណីដូចខាង ក្រោមនេះ:
if(userNameText.Text.Length ==? 0)
{
loginError.SetError(userNameText,
“Please enter a user name”);
return;
}
if (passwordText.Text.Length == 0)
{
loginError.SetError(passwordText,
“Please enter a password”);
return;
}
3. Scroll មើលខាងលើនៃ Login class រួចបន្ថែម public event ខាងក្រោមនេះ:
public event System.EventHandler LoginSuccess;
public event System.EventHandler LoginFail;
4. ត្រឡប់ចូលក្នុង loginClick event method ។ បន្ទាប់ code ដែលបានឆែកមើលប្រអប់ Password text box បន្ថែម statements ខាង
ក្រោមបញ្ជាក់ពីឈ្មោះ user name និង password ។
if (userNameAndPasswordAreValid(userNameText.Text,
passwordText.Text))
{
if (LoginSuccess!= null)
{
LoginSuccess(this, new System.EventArgs());
}
}
else
{
if (LoginFail != null)
{
LoginFail(this, new System.EventArgs());
}
}
5. នៅលើ Build menu ចុចលើ Build Solution ដើម្បី compile project ។
2. ប្រើប្រាស់ Login User Control
លំហាត់ខាងក្រោមនេះ អ្នកនឹងបន្ថែម Login user control ដើម្បី Toolbox រួចហើយបង្កើតកម្មវិធីប្រើប្រាស់បានងាយ ។ បន្ថែម Login user control ទៅក្នុងប្រអប់ Toolbox ។
1. នៅលើ Tools menu ចុចលើ Add/Remove Toolbox Items។  ប្រអប់ Customize Toolbox dialog box បានបើកឡើង ។ អ្នកអាចប្រើប្រអប់ dialog box នេះបន្ថែមទៅ COM controls និង .NET Framework controls
(ដែលរួមមាន user controls) ទៅក្នុង toolbar ។ ចុចលើសមាសភាព.NET Framework (វាត្រូវបានជ្រើសរើស default) ។
a
2. ចុចលើ Browse រួចមើលក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 19\LoginControl\bin\Debug folder ក្នុង My Documents folder របស់អ្នក ។ ចុចលើ LoginControl.dll (user control នេះដែលអ្នកទើបតែបង្កើត) រួចចុចលើ Open ។ Login control (ក្នុង namespace LoginControl) នឹងដែលបានបន្ថែមទៅ list នៃសមាសភាព .NET Framework ។ ចុចលើ OK
3. ប្តូរ Design View ចុចលើ Toolbox រួចហើយចុចលើ General ។  ពេលនោះ Login control បង្ហាញ ។
aបង្កើតតែសកម្មវិធីប្រើប្រាស់
1. បង្កើត project ថ្មីដោយប្រើ Windows Application template ដែលហៅថា LoginTest ។ បង្កើតក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 19 folder ក្នុង My Documents folder របស់អ្នក។ ជ្រើសរើស Add To Solution radio រួចហើយចុចលើ OK ។
1. បន្ថែម Add To Solution អនុញ្ញាតអោយអ្នកមានច្រើនជាងមួយ project បើកក្នុងពេលតែមួយនៃ Microsoft Visual Studio .NET ។
2. បន្ទាប់ពីតែសកម្មវិធីប្រើប្រាស់ត្រូវបានបង្កើតចុចលើ Project menu រួចជ្រើសរើសបង្កើត StartUp Project ។ កាលណាអ្នក build និង execute កម្មវិធីប្រើប្រាស់ចុងក្រោយ ។
3. មើល Form1 ក្នុង Design View រួចហើយប្តូរទំហំ Size property គឺ 456, 360 ។
4. ក្នុងប្រអប់ Toolbox ចុចលើ General ។ អ្នកនឹងឃើញ Login control ។ ទាញ Login control លើ form ។ បង្កើតវាទីតាំង 20, 20 ។
5. ចុចលើ Form1 ក្នុង Design View រួចហើយប្តូរ BackColor property ទៅ IndianRed ។ ប្តូរ ForeColor property ទៅ LightGray ។
6. ចុចលើ Login user control (វាហៅថា login1) រួចសាកល្បងក្នុង properties របស់វានៅក្នុងសន្លឹក Properties ។ ប៊ូតុងនៅលើ Login នឹងប្តូរ ។ ប្តូរ PasswordLabel property ទៅ Password: និង UserNameLabel property ទៅឈ្មោះ Name:
login1.UserNameLabel = “Name:”;
7. ក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events ដើម្បីមើលអថេរ events សំរាប់ login1 control ។ អ្នកនឹងឃើញ LoginFail និង LoginSuccess ទាំងអស់ដែលនៅខាងមុខ events ។ រួចចុចលើ LoginFail event វាយសរសេរ loginFail រួចហើយចុចលើ Enter ។
MessageBox.Show(“Login failed”, “Fail”);
8. ត្រឡប់ចូលក្នុង Design View របស់ Form1 ជ្រើសរើសសន្លឹក Properties (ដែលបង្ហាញ events) វាយសរសេរ loginSuccess ក្នុង LoginSuccess event រួចហើយចុចលើ Enter ។ បន្ថែម statement ខាងក្រោមកាលណា loginSuccess method បង្ហាញក្នុង Code View:
MessageBox.Show(“Login succeeded”,”Success”);
9. នៅលើ Debug menu ចុចលើ Start ដើម្បី compile និងរត់ដំណើរ ការកម្មវិធីប្រើប្រាស់ LoginTest ។ កាលណា form បង្ហាញវាយសរសេរឈ្មោះ របស់អ្នកក្នុងឈ្មោះ Name text វាយសរសេរ Hello ក្នុងប្រអប់ Password text box ។
a9. កាលណាបានបញ្ចប់ បិទ form រួចត្រឡប់ទៅកម្មវិធី Visual Studio .NET។
មេរៀន VC#.NET-ប្រើបង្កើតសមាសភាព GUI
View detail
មេរៀន VC#.NET ប្រើ MDI និង Dialog Box

មេរៀន VC#.NET ប្រើ MDI និង Dialog Box

បង្កើត multiple document interface (MDI) គឺជា form មេនិងកូន
-បង្ហាញ Dynamically និងលាក់ form។
-Merge menu នៅលើ form មេនិងកូន ។
- របៀបចំ forms កូននៅលើ form មេ ។
- បង្កើតម៉ូតប្រអប់ dialog box និង form
-បន្ថែមប្រអប់រួម common dialog boxទៅក្នុងកម្មវិធីប្រើប្រាស់ ដែលជាកម្មសិទ្ធិរបស់អ្នក ដោយប្រើប្រអប់ common dialog control។
1. អ្វីដែលហៅថា MDI​ ? ការអនុវត្តន៍ដែលប្រើ MDI អនុញ្ញាតអោយអ្នកមើលឯកសារជាច្រើន ក្នុងពេលតែមួយ ។ ឯកសារនីមួយៗត្រូវបានបង្ហាញក្នុងសន្លឹកដែលជាកម្មសិទ្ធិ ដែលយោងទៅតាម សន្លឹកកូន ។ សន្លឹកកូនត្រូវបានបង្ហាញ នៅក្នុងដែលលោត ឡើងលើសន្លឹក MDI ក្នុងផ្នែកនៃសន្លឹកដែល ហៅ ថាតំបន់ MDI client ។ MDI frame ដែលផ្ទុក menu bar, status bar និង toolbar សំរាប់កម្មវិធីប្រើប្រាស់ menus ដែលជាកម្មសិទ្ធិ form កូនត្រូវបានបង្ហាញក្នុង MDI frame ។ ប្រសិនបើអ្នកប្រើប្រាស់ user ប្តូរវាងសន្លឹកកូន ។ menu ប្តូរទៅ menu ដែលប្រើដោយសន្លឹកកូន ។ បន្ទាប់ពីបង្ហាញការប្រើប្រាស់ MDI និងលក្ខណ: ចម្បងរបស់វា ។
aសង់កម្មវិធី MDI Application ដើម្បីជំនួយ ​អោយអ្នកយល់អំពី MDI អ្នកកំពុងបន្តទៅ build កម្មវិធី MDI កម្មវិធីប្រើប្រាស់គឺជាការងាយស្រួល text editor បន្ទាប់ពីបានបង្ហាញសន្លឹក text ជាច្រើនក្នុងពេលដូចគ្នារួចហើយ edit text ។
បង្កើត MDI form មេ ដើម្បីជំនួយអោយអ្នកយល់អំពី MDI អ្នកកំពុងសង់ build កម្មវិធីប្រើ ប្រាស់ MDI ។ កម្មវិធីប្រើប្រាស់ងាយបង្កើត text editor ដែលអនុញ្ញាតអោយ  អ្នកប្រើប្រាស់ user ដើម្បីបង្ហាញសន្លឹក text ក្នុងពេលដូចគ្នារួចហើយ edit text។
2. បង្កើត MDI form មេ
1. ក្នុងកម្មវិធីប្រើប្រាស់ Microsoft Visual Studio .NET បង្កើត project ថ្មីដែលហៅថា MDIDemo ក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 18 folder ក្នុង My Documents folder របស់អ្នក ។​ ប្រើWindows Application template ។
2. ក្នុង Solution Explorer ប្តូរឈ្មោះនៃ Form1.cs file ទៅក្នុង MDIParent.cs ។ (ចុចលើ Right-click Form1.cs ក្នុង Solution Explorer រួចចុចលើ Rename នៅលើ pop-up menu)
3. មើល MDIParent.cs ក្នុង Design View ប្រសិនបើវាមិនបង្ហាញ ត្រូវជ្រើសរើសវារួចហើយបង្កើត properties របស់វាដោយប្រើតំលៃតារាងដូច ខាងក្រោមនេះ ។
4. មើល Code ប្រើ scroll ចុះក្រោមទៅក្នុង Main method រួចហើយប្តូរកម្មវិធីប្រើប្រាស់ ។ រត់ដំណើរការ statement ដែលបន្ថែម Code ដូចខាង ក្រោមនេះ (ចាំថាប្រសិនបើអ្នកប្តូរឈ្មោះនៃ main form ក្នុងកម្មវិធីប្រើ ប្រាស់អ្នកត្រូវតែ edit Main ដើម្បីប្រើឈ្មោះថ្មី):
Application.Run(new? MDIParent());
5. ត្រឡប់ Design View ក្នុង Toolbox ទាញ MainMenu control លើ form ។ ប្តូរឈ្មោះរបស់វាទៅ mdiMenu ។
6. ចុចលើ MDI form មេរួចក្នុងសន្លឹក Properties មើលអោយច្បាស់ Menu property របស់វាគឺបង្កើត mdiMenu ។
7. ប្រើ menu editor (ជ្រើសរើស mdiMenu control រួចហើយវាយ សរសេរ caption នៅលើ menu bar របស់ form) បង្កើត menu នៅខាងលើ ដែលផ្ទុក items labeled &File និង &Window ។ បង្កើតឈ្មោះរបស់វា
ទៅ fileItem និង windowItem ។ បន្ថែម submenu items ដែលមាន label &New, &Close និង E&xit ទៅ File menu ។
9. Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ដែលទើបតែតែសវា ។
3.  បង្កើត MDI child form
1. បន្ថែម form កូនទៅអនុវត្តដោយ ប្រើបន្ថែម Add Item ថ្មីលើ Project menu ។ កាលណាបន្ថែមប្រអប់ Item dialog box ថ្មីដែលបានបើក ចុចលើ Windows Form template រួចវាយសរសេរ MDIChild.cs ប្រអប់
ឈ្មោះ Name text box ។ ចុចបើកដើម្បីបង្កើត form និងបន្ថែមទៅ project។
2. បង្ហាញ MDIChild.cs ក្នុង Design View ។ នៅក្នុងប្រអប់ Toolbox ទាញ TextBox control លើ form ។ ប្តូរឈ្មោះនៃ textBox1 control ទៅ editData បង្កើត Dock property របស់វាដើម្បីបំពេញ (ដោយ ចុចលើតំបន់នៃ Dock diagram) បង្កើត Multiline property គឺ True រួចហើយ សំអាត់ Text property ។
3. ក្នុងប្រអប់ Toolbox ជ្រើសរើស MainMenu control រួចទាញលើ MDIChild form ។ ប្តូរឈ្មោះ menu ទៅ Menu កូន។ ប្រើ menu editor, បន្ថែម  &File item ទៅ menu។
4. ចុចលើ saveItem menu រួចបង្កើត MergeOrder property គឺ 1 កាលណា menus ត្រូវបានបញ្ចូល ។
5. ចុចលើ separator bar នៅលើ menu កូននឹងបង្កើត MergeOrder property របស់វាគឺ 1 ។ separator bar ត្រូវការបង្ហាញបន្ទាប់ពី Save menu item បានភ្ជាប់ជាមួយ menu ។
6. បង្ហាញ MDI form មេក្នុង Design View ។ ចុចលើ fileItem menu រួចហើយបង្កើត MergeType property របស់វាទៅ MergeItems ។
កាលណាអ្នកភ្ជាប់ menus មេនិងកូនត្រូវបានភ្ជាប់ទាំងពីទៅក្នុង MergeType properties បង្កើត MergeItems; ម្យ៉ាងទៀត menus នឹងមិនភ្ជាប់ត្រឹមត្រូវ ។
7. ចុចលើ newItem menu item ផ្ទៀងផ្ទាត់ថា MergeOrder property របស់វាគឺបង្កើត 0 ។ ធ្វើឈ្មោះដូច closeItem menu item ។
 ប្តូរ Merge Order property របស់ exitItem menu item គឺ 2 ដែលហៅឡើងវិញ ដែលអ្នកបានបង្កើតតំលៃ MergeOrder សំរាប់ saveItem menu លើ menu កូនគឺ 1 ។ នេះមានន័យថា Save command ត្រូវបានបង្ហាញ ។
1. នៅលើ  MDIParent form បង្កើត Click event របស់ newItem ដែលហៅថា newItemClick ដោយប្រើ Event View ក្នុងសន្លឹក Properties newItemClick event បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។
2. ក្នុង newItemClick event method វាយសរសេរ code ខាងក្រោមនេះ:
MDIChild childForm = new MDIChild();
childForm.MdiParent = this;
childForm.Show();
3. Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ ។ កាលណា MDI form កូនបង្ហាញ នៅលើ File menu ចុចលើ New ។ form កូនបង្ហាញក្នុងតំបន់ រួចហើយអ្នកវាយសរសេរ text ។ នៅលើ File menu ចុចលើ New ម្តងទៀត form កូនផ្សេងទៀតបង្ហាញ ។ តាមពិតអ្នកបើក អ្នកអាចបើក forms កូនក្នុង ពេលតែមួយ space​ និង memory នៃកុំព្យូទ័ររបស់អ្នកដែលអនុញ្ញាត ។ប្រសិន បើអ្នកចុចលើ File menu អ្នកឃើញ Save command (និង separator bar) ប្រសិនបើអ្នកបិទ forms កូនទាំងពីរ Save item  មិនបានបង្ហាញ ។
4. នៅលើ File menu ចុចលើ Exit រួចត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
កំណត់ Window menu
1. ត្រឡប់ Design View សំរាប់ MDIParent form ។ ប្រើ menu editor ដើម្បីបន្ថែម Window menu និងកូន sub-item រួចចុចលើ event method ដែលសង្ខេបតារាងដូចខាងក្រោមនេះ។
TextNameClick event method
&CascadecascadeItemcascadeItemClick
Tile &HorizontalhorizontalItemhorizontalItemClick
Tile &VerticalverticalItemverticalItemClick
a
2. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statement ទៅក្នុង body នៃ cascadeItemClick method:
this.LayoutMdi(MdiLayout.Cascade);
ក្នុង horizontalItemClick method បន្ថែម statement ខាងក្រោមនេះ:
this.LayoutMdi(MdiLayout.TileHorizontal);
ហើយនៅក្នុង verticalItemClick method បន្ថែម statement ខាងក្រោមនេះ:
this.LayoutMdi(MdiLayout.TileVertical);
3. មើល MDI form មេក្នុង Design View ម្តងទៀតរួចហើយ ជ្រើស
រើសសន្លឹក Item menu ។ ក្នុងសន្លឹក Properties បង្កើត MdiList
property គឺ True ។
4. ប្តូរ Code និងសន្លឹក Text Editor ដែលបង្ហាញ MDIParent.cs និងទីតាំង MDIParent class ។
5. បន្ថែមអថេរ int ដែលហៅថា childCount ទៅក្នុង MDIParent class ក្រោមអថេរដែលនៅជិតខាងលើនៃ class ប៉ុន្តែ MDIParent constructor ។ ចាប់ផ្តើម childCount គឺ 0:
private int childCount = 0;
6. ទីតាំង newItemClick method ដែលមានពីមុនchildForm.Show statement បន្ថែម code ដូចខាងក្រោមនេះ:
childCount++;
childForm.Text = childForm.Text + ” ” + childCount;
បង្កើតប្រអប់ Dialog Box ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងឃើញពីរបៀបបង្កើតនិងបង្ហាញម៉ូដ ប្រអប់ dialog box ។
1. ក្នុង MDIDemo project នៅលើ Project menu ចុចលើ Add Windows Form ។ បន្ថែមប្រអប់ Item ថ្មី ។ ក្នុងប្រអប់ dialog box ជ្រើស
រើស Windows Form template និងក្នុងប្រអប់ឈ្មោះ Name text box វាយ សរសេរ About.cs ។ ចុចលើ Open
a
2. ក្នុងប្រអប់ Toolbox បន្ថែមពីរ label ទៅក្នុង About form ។ សំអាត Clear Text property នៃ label ទីមួយ (ដែលហៅថា label1) រួច
បង្កើត Image property របស់វាដោយចុចលើប៊ូតុង Ellipses និងជ្រើសរើស BEANY.BMP ក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 18 folder ក្នុង My Documents folder របស់អ្នក ។
3. ក្នុងប្រអប់ Toolbox ទាញប៊ូតុង Button control នៅលើ form ក្រោមពីរ label controls ។ បង្កើតឈ្មោះ (Name) property ចុចលើ ok និង បង្កើត Text property ចុចលើ OK ។
a
4. អ្នកប្រើប្រាស់ user ចុចលើប៊ូតុង OK ដើម្បីបិទ form ក្នុងពេលរត់ ។
5. នៅលើ About form ចុចលើ OK រួចហើយក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events ។ ក្នុង Click event វាយសរសេរ okClick រួចហើយចុច
លើ Enter ។ កាលណា okClick event method បានបង្ហាញ Code និងសន្លឹក Text Editor បន្ថែម statement ខាងក្រោម:
this.Close();
មើល About form
1. មើល MDIParent form ក្នុង Design View ។
2. ចុចលើ mdiMenu control ក្រោម form រួចហើយប្រើ menu editor ដើម្បីបន្ថែម item ផ្សេងទៀតទៅ menu ។ កន្លែង item ទៅខាងស្តាំដៃ នៃសន្លឹក Window item និងឈ្មោះ helpItem រួចហើយបង្កើត Text property ទៅក្នុង &Help ។ បន្ថែម sub-item ទៅ Help menu item ដែល
a3. ជ្រើសរើស aboutItem ក្នុង menu editor រួចហើយក្នុងសន្លឹក Properties window ចុចលើប៊ូតុង Events ។ ក្នុង Click event វាយសរសេរ aboutItemClick រួចចុចលើ Enter ។ កាលណា aboutItemClick event
method ត្រូវបានបង្កើតបង្ហាញក្នុង Code View សរសេរដូចខាងក្រោមនេះ:
About aboutDialog = new About();
aboutDialog.ShowDialog();
4. Build និងរត់ដំណើរការកម្មវិធី កាលណា form បង្ហាញនៅលើ Help menu ចុចលើ About MDI Demo ។ ប្រអប់ About dialog box បានបើក ។
5. ខណ:ដែលប្រអប់ About dialog box ត្រូវបានបើក ព្យាយាមជ្រើស
រើស menu items មួយក្នុង MDI form មេ ។
6. បិទ form រួចត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
ប្រើ SaveFileDialog Control ក្នុងលំហាត់ខាងក្រោម អ្នកនឹងប្រើ SaveFileDialog control ។ ក្នុងកម្មវិធីប្រើប្រាស់ MDI Demo កាលណាអ្នក ប្រើប្រាស់ edits text ក្នុងសន្លឹកកូន អ្នកប្រើប្រាស់នឹងអាចរក្សាទុក save text  file មួយ ។ អ្នកនឹងបង្ហាញ user ឈ្មោះ file ដោយប្រើ SaveFileDialog control ។
បង្កើត multiple document interface (MDI) គឺជា form មេនិងកូន
-បង្ហាញ Dynamically និងលាក់ form។
-Merge menu នៅលើ form មេនិងកូន ។
- របៀបចំ forms កូននៅលើ form មេ ។
- បង្កើតម៉ូតប្រអប់ dialog box និង form
-បន្ថែមប្រអប់រួម common dialog boxទៅក្នុងកម្មវិធីប្រើប្រាស់ ដែលជាកម្មសិទ្ធិរបស់អ្នក ដោយប្រើប្រអប់ common dialog control។
1. អ្វីដែលហៅថា MDI​ ? ការអនុវត្តន៍ដែលប្រើ MDI អនុញ្ញាតអោយអ្នកមើលឯកសារជាច្រើន ក្នុងពេលតែមួយ ។ ឯកសារនីមួយៗត្រូវបានបង្ហាញក្នុងសន្លឹកដែលជាកម្មសិទ្ធិ ដែលយោងទៅតាម សន្លឹកកូន ។ សន្លឹកកូនត្រូវបានបង្ហាញ នៅក្នុងដែលលោត ឡើងលើសន្លឹក MDI ក្នុងផ្នែកនៃសន្លឹកដែល ហៅ ថាតំបន់ MDI client ។ MDI frame ដែលផ្ទុក menu bar, status bar និង toolbar សំរាប់កម្មវិធីប្រើប្រាស់ menus ដែលជាកម្មសិទ្ធិ form កូនត្រូវបានបង្ហាញក្នុង MDI frame ។ ប្រសិនបើអ្នកប្រើប្រាស់ user ប្តូរវាងសន្លឹកកូន ។ menu ប្តូរទៅ menu ដែលប្រើដោយសន្លឹកកូន ។ បន្ទាប់ពីបង្ហាញការប្រើប្រាស់ MDI និងលក្ខណ: ចម្បងរបស់វា ។
aសង់កម្មវិធី MDI Application ដើម្បីជំនួយ ​អោយអ្នកយល់អំពី MDI អ្នកកំពុងបន្តទៅ build កម្មវិធី MDI កម្មវិធីប្រើប្រាស់គឺជាការងាយស្រួល text editor បន្ទាប់ពីបានបង្ហាញសន្លឹក text ជាច្រើនក្នុងពេលដូចគ្នារួចហើយ edit text ។
បង្កើត MDI form មេ ដើម្បីជំនួយអោយអ្នកយល់អំពី MDI អ្នកកំពុងសង់ build កម្មវិធីប្រើ ប្រាស់ MDI ។ កម្មវិធីប្រើប្រាស់ងាយបង្កើត text editor ដែលអនុញ្ញាតអោយ  អ្នកប្រើប្រាស់ user ដើម្បីបង្ហាញសន្លឹក text ក្នុងពេលដូចគ្នារួចហើយ edit text។
2. បង្កើត MDI form មេ
1. ក្នុងកម្មវិធីប្រើប្រាស់ Microsoft Visual Studio .NET បង្កើត project ថ្មីដែលហៅថា MDIDemo ក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 18 folder ក្នុង My Documents folder របស់អ្នក ។​ ប្រើWindows Application template ។
2. ក្នុង Solution Explorer ប្តូរឈ្មោះនៃ Form1.cs file ទៅក្នុង MDIParent.cs ។ (ចុចលើ Right-click Form1.cs ក្នុង Solution Explorer រួចចុចលើ Rename នៅលើ pop-up menu)
3. មើល MDIParent.cs ក្នុង Design View ប្រសិនបើវាមិនបង្ហាញ ត្រូវជ្រើសរើសវារួចហើយបង្កើត properties របស់វាដោយប្រើតំលៃតារាងដូច ខាងក្រោមនេះ ។
4. មើល Code ប្រើ scroll ចុះក្រោមទៅក្នុង Main method រួចហើយប្តូរកម្មវិធីប្រើប្រាស់ ។ រត់ដំណើរការ statement ដែលបន្ថែម Code ដូចខាង ក្រោមនេះ (ចាំថាប្រសិនបើអ្នកប្តូរឈ្មោះនៃ main form ក្នុងកម្មវិធីប្រើ ប្រាស់អ្នកត្រូវតែ edit Main ដើម្បីប្រើឈ្មោះថ្មី):
Application.Run(new? MDIParent());
5. ត្រឡប់ Design View ក្នុង Toolbox ទាញ MainMenu control លើ form ។ ប្តូរឈ្មោះរបស់វាទៅ mdiMenu ។
6. ចុចលើ MDI form មេរួចក្នុងសន្លឹក Properties មើលអោយច្បាស់ Menu property របស់វាគឺបង្កើត mdiMenu ។
7. ប្រើ menu editor (ជ្រើសរើស mdiMenu control រួចហើយវាយ សរសេរ caption នៅលើ menu bar របស់ form) បង្កើត menu នៅខាងលើ ដែលផ្ទុក items labeled &File និង &Window ។ បង្កើតឈ្មោះរបស់វា
ទៅ fileItem និង windowItem ។ បន្ថែម submenu items ដែលមាន label &New, &Close និង E&xit ទៅ File menu ។
9. Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ដែលទើបតែតែសវា ។
3.  បង្កើត MDI child form
1. បន្ថែម form កូនទៅអនុវត្តដោយ ប្រើបន្ថែម Add Item ថ្មីលើ Project menu ។ កាលណាបន្ថែមប្រអប់ Item dialog box ថ្មីដែលបានបើក ចុចលើ Windows Form template រួចវាយសរសេរ MDIChild.cs ប្រអប់
ឈ្មោះ Name text box ។ ចុចបើកដើម្បីបង្កើត form និងបន្ថែមទៅ project។
2. បង្ហាញ MDIChild.cs ក្នុង Design View ។ នៅក្នុងប្រអប់ Toolbox ទាញ TextBox control លើ form ។ ប្តូរឈ្មោះនៃ textBox1 control ទៅ editData បង្កើត Dock property របស់វាដើម្បីបំពេញ (ដោយ ចុចលើតំបន់នៃ Dock diagram) បង្កើត Multiline property គឺ True រួចហើយ សំអាត់ Text property ។
3. ក្នុងប្រអប់ Toolbox ជ្រើសរើស MainMenu control រួចទាញលើ MDIChild form ។ ប្តូរឈ្មោះ menu ទៅ Menu កូន។ ប្រើ menu editor, បន្ថែម  &File item ទៅ menu។
4. ចុចលើ saveItem menu រួចបង្កើត MergeOrder property គឺ 1 កាលណា menus ត្រូវបានបញ្ចូល ។
5. ចុចលើ separator bar នៅលើ menu កូននឹងបង្កើត MergeOrder property របស់វាគឺ 1 ។ separator bar ត្រូវការបង្ហាញបន្ទាប់ពី Save menu item បានភ្ជាប់ជាមួយ menu ។
6. បង្ហាញ MDI form មេក្នុង Design View ។ ចុចលើ fileItem menu រួចហើយបង្កើត MergeType property របស់វាទៅ MergeItems ។
កាលណាអ្នកភ្ជាប់ menus មេនិងកូនត្រូវបានភ្ជាប់ទាំងពីទៅក្នុង MergeType properties បង្កើត MergeItems; ម្យ៉ាងទៀត menus នឹងមិនភ្ជាប់ត្រឹមត្រូវ ។
7. ចុចលើ newItem menu item ផ្ទៀងផ្ទាត់ថា MergeOrder property របស់វាគឺបង្កើត 0 ។ ធ្វើឈ្មោះដូច closeItem menu item ។
 ប្តូរ Merge Order property របស់ exitItem menu item គឺ 2 ដែលហៅឡើងវិញ ដែលអ្នកបានបង្កើតតំលៃ MergeOrder សំរាប់ saveItem menu លើ menu កូនគឺ 1 ។ នេះមានន័យថា Save command ត្រូវបានបង្ហាញ ។
1. នៅលើ  MDIParent form បង្កើត Click event របស់ newItem ដែលហៅថា newItemClick ដោយប្រើ Event View ក្នុងសន្លឹក Properties newItemClick event បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។
2. ក្នុង newItemClick event method វាយសរសេរ code ខាងក្រោមនេះ:
MDIChild childForm = new MDIChild();
childForm.MdiParent = this;
childForm.Show();
3. Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ ។ កាលណា MDI form កូនបង្ហាញ នៅលើ File menu ចុចលើ New ។ form កូនបង្ហាញក្នុងតំបន់ រួចហើយអ្នកវាយសរសេរ text ។ នៅលើ File menu ចុចលើ New ម្តងទៀត form កូនផ្សេងទៀតបង្ហាញ ។ តាមពិតអ្នកបើក អ្នកអាចបើក forms កូនក្នុង ពេលតែមួយ space​ និង memory នៃកុំព្យូទ័ររបស់អ្នកដែលអនុញ្ញាត ។ប្រសិន បើអ្នកចុចលើ File menu អ្នកឃើញ Save command (និង separator bar) ប្រសិនបើអ្នកបិទ forms កូនទាំងពីរ Save item  មិនបានបង្ហាញ ។
4. នៅលើ File menu ចុចលើ Exit រួចត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
កំណត់ Window menu
1. ត្រឡប់ Design View សំរាប់ MDIParent form ។ ប្រើ menu editor ដើម្បីបន្ថែម Window menu និងកូន sub-item រួចចុចលើ event method ដែលសង្ខេបតារាងដូចខាងក្រោមនេះ។
TextNameClick event method
&CascadecascadeItemcascadeItemClick
Tile &HorizontalhorizontalItemhorizontalItemClick
Tile &VerticalverticalItemverticalItemClick
a
2. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statement ទៅក្នុង body នៃ cascadeItemClick method:
this.LayoutMdi(MdiLayout.Cascade);
ក្នុង horizontalItemClick method បន្ថែម statement ខាងក្រោមនេះ:
this.LayoutMdi(MdiLayout.TileHorizontal);
ហើយនៅក្នុង verticalItemClick method បន្ថែម statement ខាងក្រោមនេះ:
this.LayoutMdi(MdiLayout.TileVertical);
3. មើល MDI form មេក្នុង Design View ម្តងទៀតរួចហើយ ជ្រើស
រើសសន្លឹក Item menu ។ ក្នុងសន្លឹក Properties បង្កើត MdiList
property គឺ True ។
4. ប្តូរ Code និងសន្លឹក Text Editor ដែលបង្ហាញ MDIParent.cs និងទីតាំង MDIParent class ។
5. បន្ថែមអថេរ int ដែលហៅថា childCount ទៅក្នុង MDIParent class ក្រោមអថេរដែលនៅជិតខាងលើនៃ class ប៉ុន្តែ MDIParent constructor ។ ចាប់ផ្តើម childCount គឺ 0:
private int childCount = 0;
6. ទីតាំង newItemClick method ដែលមានពីមុនchildForm.Show statement បន្ថែម code ដូចខាងក្រោមនេះ:
childCount++;
childForm.Text = childForm.Text + ” ” + childCount;
បង្កើតប្រអប់ Dialog Box ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងឃើញពីរបៀបបង្កើតនិងបង្ហាញម៉ូដ ប្រអប់ dialog box ។
1. ក្នុង MDIDemo project នៅលើ Project menu ចុចលើ Add Windows Form ។ បន្ថែមប្រអប់ Item ថ្មី ។ ក្នុងប្រអប់ dialog box ជ្រើស
រើស Windows Form template និងក្នុងប្រអប់ឈ្មោះ Name text box វាយ សរសេរ About.cs ។ ចុចលើ Open
a
2. ក្នុងប្រអប់ Toolbox បន្ថែមពីរ label ទៅក្នុង About form ។ សំអាត Clear Text property នៃ label ទីមួយ (ដែលហៅថា label1) រួច
បង្កើត Image property របស់វាដោយចុចលើប៊ូតុង Ellipses និងជ្រើសរើស BEANY.BMP ក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 18 folder ក្នុង My Documents folder របស់អ្នក ។
3. ក្នុងប្រអប់ Toolbox ទាញប៊ូតុង Button control នៅលើ form ក្រោមពីរ label controls ។ បង្កើតឈ្មោះ (Name) property ចុចលើ ok និង បង្កើត Text property ចុចលើ OK ។
a
4. អ្នកប្រើប្រាស់ user ចុចលើប៊ូតុង OK ដើម្បីបិទ form ក្នុងពេលរត់ ។
5. នៅលើ About form ចុចលើ OK រួចហើយក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events ។ ក្នុង Click event វាយសរសេរ okClick រួចហើយចុច
លើ Enter ។ កាលណា okClick event method បានបង្ហាញ Code និងសន្លឹក Text Editor បន្ថែម statement ខាងក្រោម:
this.Close();
មើល About form
1. មើល MDIParent form ក្នុង Design View ។
2. ចុចលើ mdiMenu control ក្រោម form រួចហើយប្រើ menu editor ដើម្បីបន្ថែម item ផ្សេងទៀតទៅ menu ។ កន្លែង item ទៅខាងស្តាំដៃ នៃសន្លឹក Window item និងឈ្មោះ helpItem រួចហើយបង្កើត Text property ទៅក្នុង &Help ។ បន្ថែម sub-item ទៅ Help menu item ដែល
a3. ជ្រើសរើស aboutItem ក្នុង menu editor រួចហើយក្នុងសន្លឹក Properties window ចុចលើប៊ូតុង Events ។ ក្នុង Click event វាយសរសេរ aboutItemClick រួចចុចលើ Enter ។ កាលណា aboutItemClick event
method ត្រូវបានបង្កើតបង្ហាញក្នុង Code View សរសេរដូចខាងក្រោមនេះ:
About aboutDialog = new About();
aboutDialog.ShowDialog();
4. Build និងរត់ដំណើរការកម្មវិធី កាលណា form បង្ហាញនៅលើ Help menu ចុចលើ About MDI Demo ។ ប្រអប់ About dialog box បានបើក ។
5. ខណ:ដែលប្រអប់ About dialog box ត្រូវបានបើក ព្យាយាមជ្រើស
រើស menu items មួយក្នុង MDI form មេ ។
6. បិទ form រួចត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។
ប្រើ SaveFileDialog Control ក្នុងលំហាត់ខាងក្រោម អ្នកនឹងប្រើ SaveFileDialog control ។ ក្នុងកម្មវិធីប្រើប្រាស់ MDI Demo កាលណាអ្នក ប្រើប្រាស់ edits text ក្នុងសន្លឹកកូន អ្នកប្រើប្រាស់នឹងអាចរក្សាទុក save text  file មួយ ។ អ្នកនឹងបង្ហាញ user ឈ្មោះ file ដោយប្រើ SaveFileDialog control ។
មេរៀន VC#.NET ប្រើ MDI និង Dialog Box
View detail
មេរៀន VC#.NET-ប្រើ Complex Control

មេរៀន VC#.NET-ប្រើ Complex Control

ក្នុងជំពូកនេះ អ្នកនឹងរៀនធ្វើពីរបៀប:
-បង្កើត docked control
-ធ្វើជាមួយ Splitter control
-ប្រើ Panel control សំរាប់ grouping control
-ផ្ទុកព៌តមានក្នុង ImageList control
1. Explorer Interface កម្មវិធី GUI ដែលអ្នកបានសរសេរ (Middleshire Bell Ringers Association និង Customer Maintenance) ត្រូវបានរចនាមានលក្ខណ: ពិសេសមុខងារជាច្រើន វាប្រើបញ្ចូល input, display និង edit ទិន្នន័យទោល មួយក្នុងពេលមួយ (សមាជិក Middleshire District Bell Ringers Association ឬ customer) ។ អ្នកប្រើប្រាស់តែងតែចង់បាននិងស្រាវជ្រាវឆ្លងកាត់ទិន្នន័យនិង display record មួយឬច្រើនក្នុងពេលមួយ ។
a2. ធ្វើការជាមួយ Splitter និង Docked Control
ក្នុងលំហាត់បន្ទាប់នេះ អ្នកនឹងបង្កើតតែសកម្មវិធីប្រើប្រាស់ test ដើម្បី បង្ហាញពីរបៀបធ្វើ Splitter control និងពន្យល់បន្ថែមអំពី Dock property នៃ controls ។ បង្កើត docked control
1. ប្រើ Microsoft Visual Studio .NET បង្កើត Visual C# project ថ្មី ដែលប្រើ Windows Application template ។ ហៅវា SplitterDemo និង
រក្សា save ក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 17 folder ក្នុង My Documents folder របស់អ្នក ។
2. បង្កើតច្បាស់លាស់ Form1 ត្រូវបាន Design View ។ ប្រើប្រាស់ Toolbox ទាញ CheckedListBox control ពីខាងឆ្វេងដៃនៃ Form1 ។
3. ក្នុងសន្លឹក Properties window ជ្រើសរើស Items property រួចចុចលើប៊ូតុង Ellipses ។ កាលណា String Collection Editor បើកវាយ សរសេរ strings ដែលជាកម្មសិទ្ធិរបស់អ្នក (ឧទាហរណ៍ ប្រើឈ្មោះរបស់អ្នក ដូចជា Teav Chhun Nan ) រួចចុចលើ OK ។
4. ជាមួយ checkedListBox1 control នៅតែជ្រើសរើស កន្លែង Dock property ក្នុងសន្លឹក Properties ។
5. ចុចលើ panel ខាងឆ្វេងដៃក្នុង diagram ដើម្បីបង្ហាញថាអ្នកនឹងត្រូវការដើម្បី dock ខាងឆ្វេងដៃ checkedListBox1 control ទៅក្នុង form ។
a6. ក្នុងប្រអប់ Toolbox ទាញ TextBox control ទៅក្នុងតំបន់នៅខាង ស្តាំដៃនៃ form ។ ក្នុងសន្លឹក Properties បង្កើត Multiline property ទៅ True ។
7. ជាមួយ textBox1 control ដែលបានជ្រើសរើស ចុចលើបន្ទាត់ property ក្នុងសន្លឹក Properties និងចុចលើប៊ូតុង Ellipse ។ កាលណា Strings Collection Editor បានបើកវាយសរសេរ ក្នុង text នៃកម្មសិទ្ធិរបស់ អ្នកនឹងចុចលើ OK ។
8. ក្នុងសន្លឹក Properties បង្កើត Dock property សំរាប់ textBox1 បំពេញដោយចុចលើកណ្តាលតំបន់នៃ diagram ។
បន្ថែម Splitter control
1. ក្នុងប្រអប់ Toolbox ទាញ Splitter control និង drop វាលើ form
asplitter automatically ទីតាំងរបស់វារវាង checkedListBox1 និង textBox1 ដែលបានបង្ហាញ ។
2. ដើម្បីបង្កើត splitter ដែលមាន visible ច្រើនបង្កើត BackColor property របស់វាគឺពណ៌ក្រហម ។ ប្រសិនបើមានបញ្ហាដែលបានជ្រើសរើស Splitter control លើ form ជ្រើសរើស control (splitter1) ពីក្នុងប្រអប់ combo box ក្នុងសន្លឹក Properties ។
3. នៅលើ Debug menu ចុចលើ Start ទៅក្នុង compile រួចរត់
ដំណើរការ form ។ កាលណា form រត់ដំណើរការ ទីតាំង mouse pointer លើ splitter bar ពណ៌ក្រហម ។
4. ទាញ splitter cursor ទៅខាងឆ្វេងនិងស្តាំដៃ។ កត់ចំណាំថា ជ្រើសរើស list box ត្រូវបានកែទំហំឡើងវិញ។
a
3. សង់ Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ ។ កាលណា form បង្ហាញ ទាញ splitter bar ទៅខាងស្តាំដៃ ចាំថា button និង check box គឺមិនមានឥទ្ធិពលវាមិនអាចប្តូរបាន ។
4. បិទ form រួចត្រឡប់ទៅក្នុងកម្មវិធី Visual Studio .NET។
5. បិទ form រួចត្រឡប់ទៅ Visual Studio .NET ។

ក្នុងជំពូកនេះ អ្នកនឹងរៀនធ្វើពីរបៀប:
-បង្កើត docked control
-ធ្វើជាមួយ Splitter control
-ប្រើ Panel control សំរាប់ grouping control
-ផ្ទុកព៌តមានក្នុង ImageList control
1. Explorer Interface កម្មវិធី GUI ដែលអ្នកបានសរសេរ (Middleshire Bell Ringers Association និង Customer Maintenance) ត្រូវបានរចនាមានលក្ខណ: ពិសេសមុខងារជាច្រើន វាប្រើបញ្ចូល input, display និង edit ទិន្នន័យទោល មួយក្នុងពេលមួយ (សមាជិក Middleshire District Bell Ringers Association ឬ customer) ។ អ្នកប្រើប្រាស់តែងតែចង់បាននិងស្រាវជ្រាវឆ្លងកាត់ទិន្នន័យនិង display record មួយឬច្រើនក្នុងពេលមួយ ។
a2. ធ្វើការជាមួយ Splitter និង Docked Control
ក្នុងលំហាត់បន្ទាប់នេះ អ្នកនឹងបង្កើតតែសកម្មវិធីប្រើប្រាស់ test ដើម្បី បង្ហាញពីរបៀបធ្វើ Splitter control និងពន្យល់បន្ថែមអំពី Dock property នៃ controls ។ បង្កើត docked control
1. ប្រើ Microsoft Visual Studio .NET បង្កើត Visual C# project ថ្មី ដែលប្រើ Windows Application template ។ ហៅវា SplitterDemo និង
រក្សា save ក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 17 folder ក្នុង My Documents folder របស់អ្នក ។
2. បង្កើតច្បាស់លាស់ Form1 ត្រូវបាន Design View ។ ប្រើប្រាស់ Toolbox ទាញ CheckedListBox control ពីខាងឆ្វេងដៃនៃ Form1 ។
3. ក្នុងសន្លឹក Properties window ជ្រើសរើស Items property រួចចុចលើប៊ូតុង Ellipses ។ កាលណា String Collection Editor បើកវាយ សរសេរ strings ដែលជាកម្មសិទ្ធិរបស់អ្នក (ឧទាហរណ៍ ប្រើឈ្មោះរបស់អ្នក ដូចជា Teav Chhun Nan ) រួចចុចលើ OK ។
4. ជាមួយ checkedListBox1 control នៅតែជ្រើសរើស កន្លែង Dock property ក្នុងសន្លឹក Properties ។
5. ចុចលើ panel ខាងឆ្វេងដៃក្នុង diagram ដើម្បីបង្ហាញថាអ្នកនឹងត្រូវការដើម្បី dock ខាងឆ្វេងដៃ checkedListBox1 control ទៅក្នុង form ។
a6. ក្នុងប្រអប់ Toolbox ទាញ TextBox control ទៅក្នុងតំបន់នៅខាង ស្តាំដៃនៃ form ។ ក្នុងសន្លឹក Properties បង្កើត Multiline property ទៅ True ។
7. ជាមួយ textBox1 control ដែលបានជ្រើសរើស ចុចលើបន្ទាត់ property ក្នុងសន្លឹក Properties និងចុចលើប៊ូតុង Ellipse ។ កាលណា Strings Collection Editor បានបើកវាយសរសេរ ក្នុង text នៃកម្មសិទ្ធិរបស់ អ្នកនឹងចុចលើ OK ។
8. ក្នុងសន្លឹក Properties បង្កើត Dock property សំរាប់ textBox1 បំពេញដោយចុចលើកណ្តាលតំបន់នៃ diagram ។
បន្ថែម Splitter control
1. ក្នុងប្រអប់ Toolbox ទាញ Splitter control និង drop វាលើ form
asplitter automatically ទីតាំងរបស់វារវាង checkedListBox1 និង textBox1 ដែលបានបង្ហាញ ។
2. ដើម្បីបង្កើត splitter ដែលមាន visible ច្រើនបង្កើត BackColor property របស់វាគឺពណ៌ក្រហម ។ ប្រសិនបើមានបញ្ហាដែលបានជ្រើសរើស Splitter control លើ form ជ្រើសរើស control (splitter1) ពីក្នុងប្រអប់ combo box ក្នុងសន្លឹក Properties ។
3. នៅលើ Debug menu ចុចលើ Start ទៅក្នុង compile រួចរត់
ដំណើរការ form ។ កាលណា form រត់ដំណើរការ ទីតាំង mouse pointer លើ splitter bar ពណ៌ក្រហម ។
4. ទាញ splitter cursor ទៅខាងឆ្វេងនិងស្តាំដៃ។ កត់ចំណាំថា ជ្រើសរើស list box ត្រូវបានកែទំហំឡើងវិញ។
a
3. សង់ Build និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ ។ កាលណា form បង្ហាញ ទាញ splitter bar ទៅខាងស្តាំដៃ ចាំថា button និង check box គឺមិនមានឥទ្ធិពលវាមិនអាចប្តូរបាន ។
4. បិទ form រួចត្រឡប់ទៅក្នុងកម្មវិធី Visual Studio .NET។
5. បិទ form រួចត្រឡប់ទៅ Visual Studio .NET ។

មេរៀន VC#.NET-ប្រើ Complex Control
View detail
មេរៀន VC#.NET-Performing Validation

មេរៀន VC#.NET-Performing Validation

ក្នុងជំពូកនេះនឹងរៀនពីរបៀបធ្វើ:
- ពិនិត្យពីការបញ្ចូលព៌តមានដោយ user មួយកំណត់ច្បាស់ថាវាមិន បំពានកម្មវិធីប្រើប្រាស់ឬតួនាទី business ។
-ប្រើ CausesValidation property និង validation eventនៃ forms និង control។
- ប្រើ ErrorProvider control សំរាប់រាយការណ៍ប្រាប់ពី error message។
1. Validating Data
គំនិតនៃការបញ្ចូល input validation គឺជាការងាយប៉ុន្តែវា ប៉ុន្តែវាមិន មែនជាការងាយស្រួលដើម្បីអនុវត្ត លក្ខណ:ពិសេសនៃ validation ជាប់ទាក់
ទងនិងទិន្នន័យ data ដែលអ្នកប្រើប្រាស់បានបញ្ចូលទៅក្នុងពីរឬច្រើន control ដែលស្ថិតនៅក្រោមតួនាទី business អាចទំនាក់ទំនងត្រង់ផ្ទាល់ ។
2. ឧទាហរណ៍ពី Customer Maintenance
អ្នកបានស្នើរទាមទារដើម្បីសង់ build កម្មវិធីប្រើប្រាស់ Customer Maintenance មួយ ។ ផ្នែកនៃកម្មវិធីប្រើប្រាស់ត្រូវការដើម្បីបញ្ចូលសារ:សំខាន់ ពិស្តារនៃ customer មួយដែលរួមមានចំណងជើង ឈ្មោះ និងភេទ ។ អ្នកសំរេចចិត្តដើម្បីបង្កើត form ដូចដែលបង្ហាញខាងក្រោមនេះ ។
aឧទាហរណ៍នេះគឺជា Multiple Document Interface (MDI) កម្មវិធីប្រើប្រាស់ដែលមានរួចស្រេចនៃ frame មួយកន្លែងនៃ forms ផ្សេងទៀត ដែលអាចមើលឃើញ ។
សំដែង Validation ជាមួយ Sledge Hammer ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងពិនិត្យកម្មវិធីប្រើប្រាស់ Customer Maintenance ហើយរត់ដំណើរការវាដើម្បីមើលភាពងាយស្រួល អ្នកអាចទទួល កំហុស validation ។
ពិនិត្យមើលកម្មវិធី
1. បើក CustomerDetails project ដែលមានទីតាំងក្នុង\Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails folder ក្នុង My Documents folder របស់អ្នក ។
2. ក្នុង Solution Explorer ចុចពីរដងលើ double-click CustomerForm.cs ដើម្បីមើលពិស្តារ Customer Detail form ក្នុង Design View។
3. ចុចលើប្រអប់ Title list box នៅលើ form រួចចុចលើ Items property ក្នុងសន្លឹក Properties ។
aអ្នកអាចមើលពីក្នុងការប្រមូលផ្តុំដែលមានផ្ទុក list box គឺមានបួន titles: Mr, Mrs, Miss និង Ms ។ ចុចលើ Cancel ដើម្បីបិទសន្លឹក String Collection Editor ។
4. ពិនិត្យមើលប្រអប់ Gender group box និងប៊ូតុង radio ។ ក្នុង
ប្រអប់ group box ផ្ទុកប៊ូតុង radio ដែលហៅថា Male និង Female ។
មានការអនុវត្តន៍នៃ Validating event សំរាប់ Title list box និងប្រអប់ Gender group box ។ វាទាំងពីរដែលហៅថា checkTitleAndGender method រួចហើយបង្កើត Cancel property នៃ CancelEventArgs parameter គឺជា true ប្រសិនបើ checkTitleAndGender method ត្រឡប់ទៅ false:
5. មើលក្នុង checkTitleAndGender method ដាក់ភ្លាមៗ ទៅក្នុង event methods:
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
MessageBox.Show(“If the title is Mr the gender must be male”,
“Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
MessageBox.Show(“If the title is Mrs, Miss, or Ms
the gender must be female”, “Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
// Title and gender match
return true;
}
បន្ថែម ErrorProvider control
1. ត្រឡប់ទៅក្នុង CustomerForm ក្នុងសន្លឹក Design View ។
2. ពីក្នុងប្រអប់ Toolbox ចុចលើ ErrorProvider control រួច drop វា នៅលើ form ។ វាបង្ហាញក្រោម form ។
a3. ចុចលើ errorProvider1 control រួចហើយជ្រើសរើស Properties ប្តូរ Change ឈ្មោះ (Name) property ទៅក្នុង errorProvider និងផ្ទៀងផ្ទាត់ BlinkStyle property គឺបង្កើតក្នុង BlinkIfDifferentError ។
4. នៅលើ CustomerForm ជ្រើសរើសក្នុងប្រអប់ Title list box ។ ប្រសិនបើអ្នកមើលក្នុងសន្លឹក Properties  អ្នកនឹងរកឃើញ property ថ្មីដែលហៅថា Error នៅលើ errorProvider ។
a
5. ប្តូរ Code និងសន្លឹក Text Editor សំរាប់ CustomerForm ។ ទីតាំង checkTitleAndGender method និងប្តូរ statements ដែលហៅថា MessageBox ។ បង្ហាញជាមួយ errorProvider.SetError method បង្ហាញ ដូចខាងក្រោមនេះ:
private void titleValidating(object sender,
CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
private void genderValidating(object sender, CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
តែស ErrorProvider control
1. Compile និងរត់ដំណើរការ (បញ្ចប់អថេរក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails Complete folder នៅក្នុង My Documents folder របស់អ្នក ។
2. កាលណាកម្មវិធីអនុវត្តន៍ចាប់ផ្តើមចុចលើប៊ូតុង New Customer នៅលើ toolbar Customer មើលពិស្តារ form ។
3. ជ្រើសរើស Mrs ក្នុងប្រអប់ Title list box រួចត្រួតពិនិត្យមើលផ្ទៀង ផ្ទាត់ឡើងវិញប៊ូតុង Male radio ត្រូវបានជ្រើសរើស ។
4. ចុចលើប៊ូតុង Save Customer លើ toolbar ។  message បង្ហាញ ក្នុង status bar ដែលបញ្ជាក់ថា save failed និង error icons ដែលត្រូវបានបង្ហាញឡើងបន្ទាប់ពី controls គឺជា error ។ ប្រសិនបើអ្នក ចង្អុល mouse លើ error icons នីមួយៗអ្នកឃើញ error message។
5. ជ្រើសរើសប៊ូតុង Female gender radio រួចចុចលើប៊ូតុង Save ក្នុង toolbar ម្តងទៀត ។
6. ​បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់ ។
បន្ថែម ErrorProvider control
  1. ត្រឡប់ចូល CustomerForm ក្នុង Design View
  2.  ក្នុង Toolbox ពង្រីក Components category រួចចុចលើ ErrorProvider លោកអ្នកឃើញ form បង្ហាញដូចខាងក្រោមនេះ
a3. ចុចលើ errorProvider1 control រួចហើយជ្រើសរើស Properties   ប្តូរឈ្មោះ (Name) ទៅជា errorProvider និងផ្ទៀងផ្ទាត់ BlinkStyle បានបង្កើត BlinkIfDifferentError ហើយឬនៅ
4. សរសេរ Code និង Text Editor សំរាប់ CustomerForm
// Cross check the gender and the title to make sure they correspond
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
errorProvider.SetError(gender, “If the title is Mr ” +
“the gender must be male”);
errorProvider.SetError(title, “If the gender is ” +
“female the title must be Mrs, Miss, or Ms”);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
errorProvider.SetError(gender, “If the title is Mrs, ” +
“Miss, or Ms the gender must be female”);
errorProvider.SetError(title, “If the gender is male ” +
“the title must be Mr”);
return false;
}
}
// Title and gender match – clear any errors
errorProvider.SetError(gender, “”);
errorProvider.SetError(title, “”);
return true;
}
បង្កើត ErrorProvider control
  1. ​​​Build និងរត់ដំណើរការកម្មវិធីSelect Mrs ក្នុងប្រអប់ Title combo box រួចហើយផ្ទៀងផ្ទាត់មើល Male ដែលបានជ្រើសរើស។
  2. នៅលើ File menu ចុចលើ Save និងមានប្រអប់ message បង្ហាញ បានប្រាប់ថា save failed និង error icons។ រួចហើយចុចលើ OK។ ប្រសិនបើលោកអ្នកប្រើ mouse ចុចលើ error icon លោកអ្នកនឹង ឃើញ error message ដែលបង្ហាញទំព័រដូចខាងក្រោមនេះ
a
  1. ជ្រើសរើសភេទស្រី Female gender រួចចុចលើ Save item លើ File
  2. បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់
បន្ថែម StatusStrip control
  1. ត្រឡប់ចូលក្នុង CustomerForm ក្នុងសន្លឹក Design View
  2. ក្នុង Toolbar ពង្រីកមើលលើ Menus & Toolbars រួចហើយទាញ StatusStrip control ពីក្នុង Toolbar នៅលើ form។
  3. ត្រួតពិនិត្យមើល form និង status bar ដែលត្រូវបានបន្ថែមលើ form
a
  1. ចុចលើ statusStrip1 រួចហើយជ្រើសរើស Properties
  2. ប្តូរឈ្មោះ (Name) property ទៅជា statusStrip
  3. ក្នុង status bar លើ form ចុចលើព្រួញដែលបានបង្ហាញក្នុងក្រាហ្វីច រួចហើយចុចលើ StatusLabel។
    a
    1. ចុចលើ toolStripStatusLabel1 នៅក្នុង status bar ដែលប្រើជា​សន្លឹក Properties window ប្តូរឈ្មោះទៅជា statusMessages។
    2. លោកអ្នកនឹងឃើញ បង្កើត text color ទៅជាពណ៌ខ្មៅជំហានបន្ទាប់
    3. ការផ្លាស់ប្តូរទីពីរគឺ MessageBox statement ដើម្បីបង្ហាញក្នុង error ខាងក្រោមនេះ:
    statusMessages.ForeColor = Color.Red;
    statusMessages.Text = “Customer title and gender are inconsistent. Changes
    not saved”;
ក្នុងជំពូកនេះនឹងរៀនពីរបៀបធ្វើ:
- ពិនិត្យពីការបញ្ចូលព៌តមានដោយ user មួយកំណត់ច្បាស់ថាវាមិន បំពានកម្មវិធីប្រើប្រាស់ឬតួនាទី business ។
-ប្រើ CausesValidation property និង validation eventនៃ forms និង control។
- ប្រើ ErrorProvider control សំរាប់រាយការណ៍ប្រាប់ពី error message។
1. Validating Data
គំនិតនៃការបញ្ចូល input validation គឺជាការងាយប៉ុន្តែវា ប៉ុន្តែវាមិន មែនជាការងាយស្រួលដើម្បីអនុវត្ត លក្ខណ:ពិសេសនៃ validation ជាប់ទាក់
ទងនិងទិន្នន័យ data ដែលអ្នកប្រើប្រាស់បានបញ្ចូលទៅក្នុងពីរឬច្រើន control ដែលស្ថិតនៅក្រោមតួនាទី business អាចទំនាក់ទំនងត្រង់ផ្ទាល់ ។
2. ឧទាហរណ៍ពី Customer Maintenance
អ្នកបានស្នើរទាមទារដើម្បីសង់ build កម្មវិធីប្រើប្រាស់ Customer Maintenance មួយ ។ ផ្នែកនៃកម្មវិធីប្រើប្រាស់ត្រូវការដើម្បីបញ្ចូលសារ:សំខាន់ ពិស្តារនៃ customer មួយដែលរួមមានចំណងជើង ឈ្មោះ និងភេទ ។ អ្នកសំរេចចិត្តដើម្បីបង្កើត form ដូចដែលបង្ហាញខាងក្រោមនេះ ។
aឧទាហរណ៍នេះគឺជា Multiple Document Interface (MDI) កម្មវិធីប្រើប្រាស់ដែលមានរួចស្រេចនៃ frame មួយកន្លែងនៃ forms ផ្សេងទៀត ដែលអាចមើលឃើញ ។
សំដែង Validation ជាមួយ Sledge Hammer ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងពិនិត្យកម្មវិធីប្រើប្រាស់ Customer Maintenance ហើយរត់ដំណើរការវាដើម្បីមើលភាពងាយស្រួល អ្នកអាចទទួល កំហុស validation ។
ពិនិត្យមើលកម្មវិធី
1. បើក CustomerDetails project ដែលមានទីតាំងក្នុង\Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails folder ក្នុង My Documents folder របស់អ្នក ។
2. ក្នុង Solution Explorer ចុចពីរដងលើ double-click CustomerForm.cs ដើម្បីមើលពិស្តារ Customer Detail form ក្នុង Design View។
3. ចុចលើប្រអប់ Title list box នៅលើ form រួចចុចលើ Items property ក្នុងសន្លឹក Properties ។
aអ្នកអាចមើលពីក្នុងការប្រមូលផ្តុំដែលមានផ្ទុក list box គឺមានបួន titles: Mr, Mrs, Miss និង Ms ។ ចុចលើ Cancel ដើម្បីបិទសន្លឹក String Collection Editor ។
4. ពិនិត្យមើលប្រអប់ Gender group box និងប៊ូតុង radio ។ ក្នុង
ប្រអប់ group box ផ្ទុកប៊ូតុង radio ដែលហៅថា Male និង Female ។
មានការអនុវត្តន៍នៃ Validating event សំរាប់ Title list box និងប្រអប់ Gender group box ។ វាទាំងពីរដែលហៅថា checkTitleAndGender method រួចហើយបង្កើត Cancel property នៃ CancelEventArgs parameter គឺជា true ប្រសិនបើ checkTitleAndGender method ត្រឡប់ទៅ false:
5. មើលក្នុង checkTitleAndGender method ដាក់ភ្លាមៗ ទៅក្នុង event methods:
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
MessageBox.Show(“If the title is Mr the gender must be male”,
“Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
MessageBox.Show(“If the title is Mrs, Miss, or Ms
the gender must be female”, “Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
// Title and gender match
return true;
}
បន្ថែម ErrorProvider control
1. ត្រឡប់ទៅក្នុង CustomerForm ក្នុងសន្លឹក Design View ។
2. ពីក្នុងប្រអប់ Toolbox ចុចលើ ErrorProvider control រួច drop វា នៅលើ form ។ វាបង្ហាញក្រោម form ។
a3. ចុចលើ errorProvider1 control រួចហើយជ្រើសរើស Properties ប្តូរ Change ឈ្មោះ (Name) property ទៅក្នុង errorProvider និងផ្ទៀងផ្ទាត់ BlinkStyle property គឺបង្កើតក្នុង BlinkIfDifferentError ។
4. នៅលើ CustomerForm ជ្រើសរើសក្នុងប្រអប់ Title list box ។ ប្រសិនបើអ្នកមើលក្នុងសន្លឹក Properties  អ្នកនឹងរកឃើញ property ថ្មីដែលហៅថា Error នៅលើ errorProvider ។
a
5. ប្តូរ Code និងសន្លឹក Text Editor សំរាប់ CustomerForm ។ ទីតាំង checkTitleAndGender method និងប្តូរ statements ដែលហៅថា MessageBox ។ បង្ហាញជាមួយ errorProvider.SetError method បង្ហាញ ដូចខាងក្រោមនេះ:
private void titleValidating(object sender,
CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
private void genderValidating(object sender, CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
តែស ErrorProvider control
1. Compile និងរត់ដំណើរការ (បញ្ចប់អថេរក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails Complete folder នៅក្នុង My Documents folder របស់អ្នក ។
2. កាលណាកម្មវិធីអនុវត្តន៍ចាប់ផ្តើមចុចលើប៊ូតុង New Customer នៅលើ toolbar Customer មើលពិស្តារ form ។
3. ជ្រើសរើស Mrs ក្នុងប្រអប់ Title list box រួចត្រួតពិនិត្យមើលផ្ទៀង ផ្ទាត់ឡើងវិញប៊ូតុង Male radio ត្រូវបានជ្រើសរើស ។
4. ចុចលើប៊ូតុង Save Customer លើ toolbar ។  message បង្ហាញ ក្នុង status bar ដែលបញ្ជាក់ថា save failed និង error icons ដែលត្រូវបានបង្ហាញឡើងបន្ទាប់ពី controls គឺជា error ។ ប្រសិនបើអ្នក ចង្អុល mouse លើ error icons នីមួយៗអ្នកឃើញ error message។
5. ជ្រើសរើសប៊ូតុង Female gender radio រួចចុចលើប៊ូតុង Save ក្នុង toolbar ម្តងទៀត ។
6. ​បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់ ។
បន្ថែម ErrorProvider control
  1. ត្រឡប់ចូល CustomerForm ក្នុង Design View
  2.  ក្នុង Toolbox ពង្រីក Components category រួចចុចលើ ErrorProvider លោកអ្នកឃើញ form បង្ហាញដូចខាងក្រោមនេះ
a3. ចុចលើ errorProvider1 control រួចហើយជ្រើសរើស Properties   ប្តូរឈ្មោះ (Name) ទៅជា errorProvider និងផ្ទៀងផ្ទាត់ BlinkStyle បានបង្កើត BlinkIfDifferentError ហើយឬនៅ
4. សរសេរ Code និង Text Editor សំរាប់ CustomerForm
// Cross check the gender and the title to make sure they correspond
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
errorProvider.SetError(gender, “If the title is Mr ” +
“the gender must be male”);
errorProvider.SetError(title, “If the gender is ” +
“female the title must be Mrs, Miss, or Ms”);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
errorProvider.SetError(gender, “If the title is Mrs, ” +
“Miss, or Ms the gender must be female”);
errorProvider.SetError(title, “If the gender is male ” +
“the title must be Mr”);
return false;
}
}
// Title and gender match – clear any errors
errorProvider.SetError(gender, “”);
errorProvider.SetError(title, “”);
return true;
}
បង្កើត ErrorProvider control
  1. ​​​Build និងរត់ដំណើរការកម្មវិធីSelect Mrs ក្នុងប្រអប់ Title combo box រួចហើយផ្ទៀងផ្ទាត់មើល Male ដែលបានជ្រើសរើស។
  2. នៅលើ File menu ចុចលើ Save និងមានប្រអប់ message បង្ហាញ បានប្រាប់ថា save failed និង error icons។ រួចហើយចុចលើ OK។ ប្រសិនបើលោកអ្នកប្រើ mouse ចុចលើ error icon លោកអ្នកនឹង ឃើញ error message ដែលបង្ហាញទំព័រដូចខាងក្រោមនេះ
a
  1. ជ្រើសរើសភេទស្រី Female gender រួចចុចលើ Save item លើ File
  2. បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់
បន្ថែម StatusStrip control
  1. ត្រឡប់ចូលក្នុង CustomerForm ក្នុងសន្លឹក Design View
  2. ក្នុង Toolbar ពង្រីកមើលលើ Menus & Toolbars រួចហើយទាញ StatusStrip control ពីក្នុង Toolbar នៅលើ form។
  3. ត្រួតពិនិត្យមើល form និង status bar ដែលត្រូវបានបន្ថែមលើ form
a
  1. ចុចលើ statusStrip1 រួចហើយជ្រើសរើស Properties
  2. ប្តូរឈ្មោះ (Name) property ទៅជា statusStrip
  3. ក្នុង status bar លើ form ចុចលើព្រួញដែលបានបង្ហាញក្នុងក្រាហ្វីច រួចហើយចុចលើ StatusLabel។
    a
    1. ចុចលើ toolStripStatusLabel1 នៅក្នុង status bar ដែលប្រើជា​សន្លឹក Properties window ប្តូរឈ្មោះទៅជា statusMessages។
    2. លោកអ្នកនឹងឃើញ បង្កើត text color ទៅជាពណ៌ខ្មៅជំហានបន្ទាប់
    3. ការផ្លាស់ប្តូរទីពីរគឺ MessageBox statement ដើម្បីបង្ហាញក្នុង error ខាងក្រោមនេះ:
    statusMessages.ForeColor = Color.Red;
    statusMessages.Text = “Customer title and gender are inconsistent. Changes
    not saved”;
មេរៀន VC#.NET-Performing Validation
View detail
មេរៀន VC#.NET-Menu និង Dialog Box

មេរៀន VC#.NET-Menu និង Dialog Box

ក្នុងជំពូកនេះ អ្នកនឹងរៀនពីរបៀបធ្វើ:
-បង្កើត Create និង edit menu សំរាប់កម្មវិធីប្រើប្រាស់ Windows Forms application។
-ប្រើ MainMenu control
- ឆ្លើយតបទៅនិង menu event សំរាប់សំដែងការដំណើរការ កាលណាអ្នកប្រើប្រាស់ user menu command ។
-រៀបចំ menus ជាកម្មវិធីនិងបង្កើត dynamic menu។
-បង្កើត Create context និង pop-up menu។
1.   ការណែនាំ Menu និង Style ប្រសិនបើអ្នកមើលក្នុងកម្មវិធីប្រើប្រាស់ Windows application ជា ច្រើន អ្នកនឹងកត់ចំណាំថាមាន item មួយចំនួននៅលើ menu bar ដែល បង្ហាញក្នុងកន្លែងតែមួយដូចគ្នា ហើយមាតិកានៃ item ទាំងនេះគឺតែងតែព្យាករ ទុក ។ ឧទាហរណ៍ File menu គឺជាប្រភេទដំបូងរបស់ item នៅលើ menu bar និងនៅលើ menu នេះអ្នកអាចវាយសរសេររកមើល command សំរាប់បង្កើតឯកសារថ្មី ដែលបានបើកឯកសាររួចស្រេច។ រក្សា save ឯកសារ print ឯកសារ និងកម្មវិធីប្រើប្រាស់ ។ ការបញ្ជា commands ដែលបង្ហាញឆ្លងកាត់កម្មវិធីប្រើប្រាស់ដូចគ្នា; ឧទាហរណ៍ Exit command គឺមិនប្រែប្រួលហើយ command ចុងក្រោយនៅ លើ File menu ។ ហើយអាចមានលក្ខណ:ពិសេសកម្មវិធិប្រើប្រាស់ផ្សេងៗទៀត ដែលប្រើ commands នៅលើ File menu បានល្អប្រសើរ ។ កម្មវិធីប្រើប្រាស់ តែងតែមាន Edit menu ដែលផ្ទុក command ដូចជា Cut, Paste, Clear, និង Find។
2.   បន្ថែម Menu និងដំណើរការ Menu Event
កម្មវិធី Microsoft Visual Studio .NET អនុញ្ញាតអោយអ្នកបន្ថែម menus ជាច្រើននិង menu items ទៅក្នុង form មួយដែលក្នុងពីរមធ្យោបាយ អ្នកអាចប្រើកម្មវិធី Visual Studio .NET integrated development environment (IDE) និង menu editor ដើម្បីបង្កើត menu graphically មួយ អ្នកអាចសរសេរ code បានផងដែរដែលបង្កើត MainMenu object (MainMenu គឺជា class ដែលបានផ្តល់និយមន័យក្នុង Windows Forms library) រួចហើយបន្ថែម MenuItem objects ទៅអោយវា (MenuItem គឺជា class ផ្សេងទៀតដែលមានក្នុង Windows Forms library) ។
3. បង្កើត Menu ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងប្រើ graphical ឈានទៅបង្កើត menus សំរាប់កម្មវិធីប្រើប្រាស់ Middleshire Bell Ringers Association ។ យើងនឹងធ្វើបែបណាដើម្បីបង្កើត menus ជាកម្មវិធីប្រើប្រាស់ ។
បង្កើត File menu
1. ចាប់ផ្តើមចូលក្នុង Start Visual Studio .NET
2. បើក BellRingers project ដែលមានទីតាំង \Microsoft Press\Visual C# Step by Step\Chapter 15\BellRingers folder ក្នុង My Documents folder របស់អ្នក ។ Middleshire Bell Ringers នេះគឺជាកម្ម វិធីប្រើប្រាស់ ។
3. មើល MemberForm ក្នុងសន្លឹក Design View (ចុចលើ MemberForm.cs ក្នុង Solution Explorer រួចចុចលើ click Designer នៅ លើ View menu) ។
4. ក្នុង Toolbox ទាញ MainMenu control មួយលើ MemberForm
aបញ្ចូលប្រភេទ E&xit រួចហើយចុចលើ Enter
aប្រភេទ Menu Strip Item
aបង្កើត menu item properties ចុចលើ Properties Window នៅលើ View menu ឬចុចលើ F4 ចុចស្តាំលើ File menu item នៅលើ menu strip នៃ MemberForm
aឆែកលើ Ctrl Modifier រួចហើយជ្រើសរើស N ហើយចុចលើ Enter
a
4. control ដោយប្រើ default ដែលហៅថា mainMenu1 បង្ហាញនៅ ខាងក្រោមនៃ form និង menu bar ដែលផ្ទុក caption ប្រភេទនេះបន្ថែម ទៅក្នុង form ។
5. ចុចលើប្រភេទ caption នៅលើ menu bar, type &File, និង ចុចលើ Enter ។ (ប្រសិនបើ menu bar មិនបង្ហាញចុចលើ mainMenu1 control នៅខាងក្រោម form និង menu បង្ហាញ) ។ ដូចអ្នកវាយសរសេរ ទីពីរ សរសេរ caption បង្ហាញទៅខាងស្តាំនៃ item ហើយទីបីវាយសរសេរ caption ដែលបង្ហាញនៅក្រោម File menu item ។
6. ចុចលើហើយវាយសរសេរ caption ដែលបង្ហាញនៅក្រោម File menu item, type &New រួចហើយចុចលើ Enter ។
7. ចុចវាយសរសេរ caption ក្រោម New menu item, type &Open, រួចចុចលើ Enter ។
8. ចុចលើហើយវាយសរសេរ caption ក្រោម Open menu item វាយសរសេរ &Save Member រួចចុចលើ Enter ។
9. ចុចលើវាយសរសេរ caption ក្រោម Save Member menu item, វាយសរសេរសញ្ញា minus sign (-) រួចុចលើ Enter ។ សញ្ញាដកបង្ហាញដូចជា កក្តា menu ដែលប្រើជាក្រុមដែលទំនាក់ទំនង menu items ។
10. ចុចលើវាយសរសេរ caption ក្រោម separator bar, type &Print រួចចុចលើ Enter។
11. ចុចលើសរសេរ caption ក្រោម Print menu item វាយសរសេរ សញ្ញា (-) រួចចុចលើ Enter ។
12. ចុចលើវាយសរសេរ caption ក្រោម separator bar ទីពីរសរសេរ E&xit រួចចុចលើ Enter។
aបង្កើត Menu Item Properties ក្នុងលំហាត់ខាងក្រោមនេះធ្វើការបង្កើត properties នៃ MainMenu control និង menu items ។ អ្នកនឹងប្រើសន្លឹក Properties ដែលអ្នកទើបតែ បានធ្វើ កាលណាអ្នបង្កើត properties សំរាប់ Windows formនិង controls
បង្កើត menu item properties
1. ចុចលើ mainMenu1 control ក្រោម form ។ ក្នុងសន្លឹក Properties ប្តូរឈ្មោះរបស់វាទៅ mainMenu ។ (ប្រសិនបើសន្លឹក Properties មិនត្រូវបានបង្ហាញ ត្រូវចុចលើ Properties Window ពីក្នុង View menu)
2. ចុចលើ Right-click ក្នុង File menu item លើ menu bar នៃ MemberForm ។ នៅលើ menu ដែលបានបង្ហាញចុចលើ Edit Names ។  menu editor បានបង្ហាញឈ្មោះនៃ menu items ដែលមាន text របស់គេ ។
a3. ចុចលើ menuItem1 item នៅលើ menu bar វាយសរសេរ fileItem រួចហើយចុចលើ Enter ។ ប្តូរឈ្មោះនៃ menu items ដែលនៅសេស សល់ដោយប្រើព៌តមាននៅក្នុងតារាងខាងក្រោមនេះ:
ItemNew name
[menuItem2]newItem
[menuItem3]openItem
[menuItem4]saveItem
[menuItem6]printItem
[menuItem8]exitItem
4. កាលណាអ្នកបានបញ្ចប់ចុចលើ right-click នៃ fileItem menu រួច uncheck លើ Edit Names option ។
5. ជ្រើសរើស Save Member menu item ក្នុង File menu ក្នុង MemberForm រួចចុចលើ Shortcut ក្នុងសន្លឹក Properties ។ ជ្រើសរើស CtrlS option ពីក្នុង drop-down list ។ ទោះបីជាតំលៃសំរាប់ shortcut keys មានឈ្មោះដូចជា CtrlS និង AltF4 កាលណាវាត្រូវបានបង្ហាញនៅលើMenu វាបង្ហាញដូចជា: Ctrl+S and Alt+F4 ។
a6. មាន property ផ្សេងទៀតដែលហៅថា ShowShortcut ក្រោម Shortcut property ។ property នេះកំណត់ថាតើ shortcut key ត្រូវបាន បង្ហាញនៅលើ menu កាលណាកម្មវិធីប្រើប្រាស់ត្រូវរត់ដំណើរការ ។
7. ប្តូរ shortcut keys របស់ menu items ផ្សេងទៀតដោយប្រើតំលៃ នៅក្នុងតារាងខាក្រោមនេះ ។
ItemShortcut
newItemCtrlN
openItemCtrlO
printItemCtrlP
exitItemAltF4
8. ចុចលើ printItem item នៅលើ File menu រួចហើយចុចលើ Enabled ក្នុងសន្លឹក Properties ។ ជ្រើសរើស False option ពី drop-down list ។ អ្នកនឹងសរសេរ code មួយចំនួនដើម្បី update property នេះទៅ True បន្ទាប់ពី data ត្រូវបានមើលឃើញ ។
តែស menu
1. នៅលើ Debug menu ចុចលើ Start (ឬចុចលើ F5) ដើម្បី compile និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ ។
2. កាលណា form បង្ហាញចុចលើ File menu ។ menu របស់អ្នក
បង្ហាញ ។ កំណត់ចំណាំថា Print command ត្រូវបាន disabled ។ អ្នកអាច ចុចលើចុចលើ commands ផ្សេងទៀត ។
3. ចុចលើ form អ្នកមិនអាចប្រើ Exit command នៅលើ File menu ដែលមិនទាន់មាន; ប្រើ System menu ជំនួស ។
4. ចុចលើ Exit ដែល form ព្យាយាមបិទ close ។ អ្នកត្រូវបានស្នើសុំ ប្រសិនបើ អ្នកបានធ្វើច្បាស់លាស់ដើម្បីបិទ form ។ ប្រសិនបើអ្នកចុចលើ No form ដែលនៅសេសសល់បានបើក; ប្រសិនបើចុចលើ Yes ពេលនេះ form closes និងកម្មវិធីប្រើប្រាស់ត្រូវបានបញ្ចប់ ។
5. ចុចលើ Yes ដើម្បីបិទ form ។
Pop-Up Menu
មានកម្មវិធីប្រើប្រាស់ Windows applications ទំនើបជាច្រើនបាន បង្កើតប្រើ pop-up menus ដែលបង្ហាញកាលណាអ្នកចុចលើ right-click form ឬ control ។ menus តែងតែមាន context-sensitive និងបង្ហាញ commands ដែលអាចអនុវត្តទៅក្នុង control ឬ form ដែលបង្ហាញចំណុចរួម
បង្កើត Pop Up Menu
លំហាត់ខាងក្រោមនេះ អ្នកនឹងបង្កើត pop-up menus ពីរ ។ pop-up menu ទីមួយត្រូវបានភ្ជាប់ទៅ firstName និង lastName text box controls ហើយអនុញ្ញាតអោយអ្នកប្រើប្រាស់កំណត់ច្បាស់ controls ។ pop-up Menu ទីពីរត្រូវបានភ្ជាប់ទៅ form និងផ្ទុក commands ដើម្បីរក្សាទុក ដែលអាចមើលពត៌មានរបស់សមាជិកនិងសំរាប់ធ្វើអោយបានច្បាស់ form ។ ដើម្បីធ្វើ ដូចនេះ អ្នកបង្កើតដោយប្រើ menu item ដែលមានស្រេចជាងការប្រសើជាការ បង្កើតថ្មីមួយ ។
បង្កើត first Name និង last​ Name pop up menu
1. ក្នុងសន្លឹក Design View ដែលមើលឃើញ MemberForm ទាញ ContextMenu control ពីក្នុង Toolbox រួចហើយ drop វាលើ form ។ (ប្រសិនបើ Toolbox មិនអាច visible ចុចលើ Toolbox ពីក្នុង View menu) ContextMenu object ដែលហៅថា contextMenu1 បង្ហាញខាងក្រោមនៃ form ។
a2. ជ្រើសរើស contextMenu1 control វាយសរសេរ textBoxMenu ក្នុងប្រអប់ (Name) text box ក្នុងសន្លឹក Properties រួចហើយចុចលើ Enter
3. ចុចលើ Context Menu title text វាយសរសេរ caption ដែល
បង្ហាញក្រោមវា ។
4. ចុចវាយសរសេរ caption វាយសរសេរ Clear Text រួចចុចលើ Enter ។
5. ចុចលើ Clear Text caption សរសេរ textBoxClearItem ក្នុងប្រអប់ (Name) text box ក្នុងសន្លឹក Propertiesរួចចុចលើ Enter ។
6. ចុចលើប្រអប់ firstName text box control (ដំបូងឈ្មោះ Name label) ។ ក្នុងសន្លឹក Properties ប្តូរ ContextMenu property ទៅជា textBoxMenu ។
7. ចុចលើប្រអប់ lastName text box control ក្នុងសន្លឹក Properties ប្តូរ ContextMenu property ទៅជា textBoxMenu ។ (controls ជាច្រើនត្រូវបានអនុញ្ញាដើម្បីចែកចាយ same pop-up menu ដូចគ្នា) ។
8. ចុចលើ Right-click  textBoxMenu control នៅខាងក្រោមនៃ form រួចចុចលើ Edit Menu។ menu មួយបង្ហាញ Context Menu caption ។
9. នៅលើ menu ចុចលើ Clear Text ។
10. ក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events វាយសរសេរ textBoxClearClick ក្នុងការចុចលើ event text box រួចចុចលើ Enter ។ event method ថ្មីដែលហៅថា textBoxClearClick គឺត្រូវបានបង្កើតក្នុង Code និង Text Editor ។
11. បន្ថែម statement ខាងក្រោមទៅ textBoxClearClick event method:
if (this.Tag.Equals(firstName))
{
firstName.Clear();
firstName.Focus();
}
else
{
lastName.Clear();
lastName.Focus();
11. ប្រសិនបើ SourceControl property នៃ pop-up menu យោងតាមប្រអប់ firstName text box និង firstName.Clear method ។
12. នៅលើ Debug menu ចុចលើ Start ។ project compiles រួចរត់ ដំណើរការ ។
13. កាលណា form បង្ហាញវាយសរសេរឈ្មោះទៅក្នុង First Name និងប្រអប់ Last Name text boxes ។
14. ចុចលើ Right-click នៃប្រអប់ First Name text box ។ pop-up menu បង្ហាញដែលផ្ទុក Clear Text command ។
15. ចុចលើ Clear Text command ។ ប្រអប់ First Name text box បានបង្ហាញច្បាស់ ។
16. វាយសរសេរឈ្មោះទៅក្នុងប្រអប់ First Name text box រួចប្តូរ move ទៅប្រអប់ Last Name text box ។ ចុចលើ Right-click លើប្រអប់ Last Name text box ដើម្បីមើល pop-up menu ។
17. ចុចលើ Right-click គ្រប់កន្លែងនៅលើ form ។ ពីព្រោះវា First Name និង Last Name text boxes ដែលមាន pop-up menus។
18. បិទ form ទាំងអស់ ។
សរសេរ saveMemberClick
  1. បង្ហាញ MemberForm ក្នុងសន្លឹក Design View ចុចលើ File menu រួច ហើយចុចលើ Save Member។
  2. ក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events ជ្រើសរើសចុចលើ event វាយសរសេរ saveMemberClick រួចហើយចុចលើ Enter។
  3. ក្នុង Code និង Text Editor ទាញទៅខាងលើ MemberForm.cs file សរសេរ code:
using System.IO;
  1. ត្រឡប់ចូល saveMemberClick នៅចុងបញ្ចប់សរសេរ MemberForm.cs file
writer.WriteLine(“First Name: ” + firstName.Text);
writer.WriteLine(“Last Name: ” + lastName.Text);
writer.WriteLine(“Tower: ” + towerNames.Text);
writer.WriteLine(“Captain: ” + isCaptain.Checked);
writer.WriteLine(“Member Since: ” + memberSince.Text);
writer.WriteLine(“Methods: “);
foreach(object methodChecked in methods.CheckedItems) {
writer.WriteLine(methodChecked.ToString());
}
writer.Close();
MessageBox.Show(“Member details saved”, “Saved”);
ក្នុងជំពូកនេះ អ្នកនឹងរៀនពីរបៀបធ្វើ:
-បង្កើត Create និង edit menu សំរាប់កម្មវិធីប្រើប្រាស់ Windows Forms application។
-ប្រើ MainMenu control
- ឆ្លើយតបទៅនិង menu event សំរាប់សំដែងការដំណើរការ កាលណាអ្នកប្រើប្រាស់ user menu command ។
-រៀបចំ menus ជាកម្មវិធីនិងបង្កើត dynamic menu។
-បង្កើត Create context និង pop-up menu។
1.   ការណែនាំ Menu និង Style ប្រសិនបើអ្នកមើលក្នុងកម្មវិធីប្រើប្រាស់ Windows application ជា ច្រើន អ្នកនឹងកត់ចំណាំថាមាន item មួយចំនួននៅលើ menu bar ដែល បង្ហាញក្នុងកន្លែងតែមួយដូចគ្នា ហើយមាតិកានៃ item ទាំងនេះគឺតែងតែព្យាករ ទុក ។ ឧទាហរណ៍ File menu គឺជាប្រភេទដំបូងរបស់ item នៅលើ menu bar និងនៅលើ menu នេះអ្នកអាចវាយសរសេររកមើល command សំរាប់បង្កើតឯកសារថ្មី ដែលបានបើកឯកសាររួចស្រេច។ រក្សា save ឯកសារ print ឯកសារ និងកម្មវិធីប្រើប្រាស់ ។ ការបញ្ជា commands ដែលបង្ហាញឆ្លងកាត់កម្មវិធីប្រើប្រាស់ដូចគ្នា; ឧទាហរណ៍ Exit command គឺមិនប្រែប្រួលហើយ command ចុងក្រោយនៅ លើ File menu ។ ហើយអាចមានលក្ខណ:ពិសេសកម្មវិធិប្រើប្រាស់ផ្សេងៗទៀត ដែលប្រើ commands នៅលើ File menu បានល្អប្រសើរ ។ កម្មវិធីប្រើប្រាស់ តែងតែមាន Edit menu ដែលផ្ទុក command ដូចជា Cut, Paste, Clear, និង Find។
2.   បន្ថែម Menu និងដំណើរការ Menu Event
កម្មវិធី Microsoft Visual Studio .NET អនុញ្ញាតអោយអ្នកបន្ថែម menus ជាច្រើននិង menu items ទៅក្នុង form មួយដែលក្នុងពីរមធ្យោបាយ អ្នកអាចប្រើកម្មវិធី Visual Studio .NET integrated development environment (IDE) និង menu editor ដើម្បីបង្កើត menu graphically មួយ អ្នកអាចសរសេរ code បានផងដែរដែលបង្កើត MainMenu object (MainMenu គឺជា class ដែលបានផ្តល់និយមន័យក្នុង Windows Forms library) រួចហើយបន្ថែម MenuItem objects ទៅអោយវា (MenuItem គឺជា class ផ្សេងទៀតដែលមានក្នុង Windows Forms library) ។
3. បង្កើត Menu ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងប្រើ graphical ឈានទៅបង្កើត menus សំរាប់កម្មវិធីប្រើប្រាស់ Middleshire Bell Ringers Association ។ យើងនឹងធ្វើបែបណាដើម្បីបង្កើត menus ជាកម្មវិធីប្រើប្រាស់ ។
បង្កើត File menu
1. ចាប់ផ្តើមចូលក្នុង Start Visual Studio .NET
2. បើក BellRingers project ដែលមានទីតាំង \Microsoft Press\Visual C# Step by Step\Chapter 15\BellRingers folder ក្នុង My Documents folder របស់អ្នក ។ Middleshire Bell Ringers នេះគឺជាកម្ម វិធីប្រើប្រាស់ ។
3. មើល MemberForm ក្នុងសន្លឹក Design View (ចុចលើ MemberForm.cs ក្នុង Solution Explorer រួចចុចលើ click Designer នៅ លើ View menu) ។
4. ក្នុង Toolbox ទាញ MainMenu control មួយលើ MemberForm
aបញ្ចូលប្រភេទ E&xit រួចហើយចុចលើ Enter
aប្រភេទ Menu Strip Item
aបង្កើត menu item properties ចុចលើ Properties Window នៅលើ View menu ឬចុចលើ F4 ចុចស្តាំលើ File menu item នៅលើ menu strip នៃ MemberForm
aឆែកលើ Ctrl Modifier រួចហើយជ្រើសរើស N ហើយចុចលើ Enter
a
4. control ដោយប្រើ default ដែលហៅថា mainMenu1 បង្ហាញនៅ ខាងក្រោមនៃ form និង menu bar ដែលផ្ទុក caption ប្រភេទនេះបន្ថែម ទៅក្នុង form ។
5. ចុចលើប្រភេទ caption នៅលើ menu bar, type &File, និង ចុចលើ Enter ។ (ប្រសិនបើ menu bar មិនបង្ហាញចុចលើ mainMenu1 control នៅខាងក្រោម form និង menu បង្ហាញ) ។ ដូចអ្នកវាយសរសេរ ទីពីរ សរសេរ caption បង្ហាញទៅខាងស្តាំនៃ item ហើយទីបីវាយសរសេរ caption ដែលបង្ហាញនៅក្រោម File menu item ។
6. ចុចលើហើយវាយសរសេរ caption ដែលបង្ហាញនៅក្រោម File menu item, type &New រួចហើយចុចលើ Enter ។
7. ចុចវាយសរសេរ caption ក្រោម New menu item, type &Open, រួចចុចលើ Enter ។
8. ចុចលើហើយវាយសរសេរ caption ក្រោម Open menu item វាយសរសេរ &Save Member រួចចុចលើ Enter ។
9. ចុចលើវាយសរសេរ caption ក្រោម Save Member menu item, វាយសរសេរសញ្ញា minus sign (-) រួចុចលើ Enter ។ សញ្ញាដកបង្ហាញដូចជា កក្តា menu ដែលប្រើជាក្រុមដែលទំនាក់ទំនង menu items ។
10. ចុចលើវាយសរសេរ caption ក្រោម separator bar, type &Print រួចចុចលើ Enter។
11. ចុចលើសរសេរ caption ក្រោម Print menu item វាយសរសេរ សញ្ញា (-) រួចចុចលើ Enter ។
12. ចុចលើវាយសរសេរ caption ក្រោម separator bar ទីពីរសរសេរ E&xit រួចចុចលើ Enter។
aបង្កើត Menu Item Properties ក្នុងលំហាត់ខាងក្រោមនេះធ្វើការបង្កើត properties នៃ MainMenu control និង menu items ។ អ្នកនឹងប្រើសន្លឹក Properties ដែលអ្នកទើបតែ បានធ្វើ កាលណាអ្នបង្កើត properties សំរាប់ Windows formនិង controls
បង្កើត menu item properties
1. ចុចលើ mainMenu1 control ក្រោម form ។ ក្នុងសន្លឹក Properties ប្តូរឈ្មោះរបស់វាទៅ mainMenu ។ (ប្រសិនបើសន្លឹក Properties មិនត្រូវបានបង្ហាញ ត្រូវចុចលើ Properties Window ពីក្នុង View menu)
2. ចុចលើ Right-click ក្នុង File menu item លើ menu bar នៃ MemberForm ។ នៅលើ menu ដែលបានបង្ហាញចុចលើ Edit Names ។  menu editor បានបង្ហាញឈ្មោះនៃ menu items ដែលមាន text របស់គេ ។
a3. ចុចលើ menuItem1 item នៅលើ menu bar វាយសរសេរ fileItem រួចហើយចុចលើ Enter ។ ប្តូរឈ្មោះនៃ menu items ដែលនៅសេស សល់ដោយប្រើព៌តមាននៅក្នុងតារាងខាងក្រោមនេះ:
ItemNew name
[menuItem2]newItem
[menuItem3]openItem
[menuItem4]saveItem
[menuItem6]printItem
[menuItem8]exitItem
4. កាលណាអ្នកបានបញ្ចប់ចុចលើ right-click នៃ fileItem menu រួច uncheck លើ Edit Names option ។
5. ជ្រើសរើស Save Member menu item ក្នុង File menu ក្នុង MemberForm រួចចុចលើ Shortcut ក្នុងសន្លឹក Properties ។ ជ្រើសរើស CtrlS option ពីក្នុង drop-down list ។ ទោះបីជាតំលៃសំរាប់ shortcut keys មានឈ្មោះដូចជា CtrlS និង AltF4 កាលណាវាត្រូវបានបង្ហាញនៅលើMenu វាបង្ហាញដូចជា: Ctrl+S and Alt+F4 ។
a6. មាន property ផ្សេងទៀតដែលហៅថា ShowShortcut ក្រោម Shortcut property ។ property នេះកំណត់ថាតើ shortcut key ត្រូវបាន បង្ហាញនៅលើ menu កាលណាកម្មវិធីប្រើប្រាស់ត្រូវរត់ដំណើរការ ។
7. ប្តូរ shortcut keys របស់ menu items ផ្សេងទៀតដោយប្រើតំលៃ នៅក្នុងតារាងខាក្រោមនេះ ។
ItemShortcut
newItemCtrlN
openItemCtrlO
printItemCtrlP
exitItemAltF4
8. ចុចលើ printItem item នៅលើ File menu រួចហើយចុចលើ Enabled ក្នុងសន្លឹក Properties ។ ជ្រើសរើស False option ពី drop-down list ។ អ្នកនឹងសរសេរ code មួយចំនួនដើម្បី update property នេះទៅ True បន្ទាប់ពី data ត្រូវបានមើលឃើញ ។
តែស menu
1. នៅលើ Debug menu ចុចលើ Start (ឬចុចលើ F5) ដើម្បី compile និងរត់ដំណើរការកម្មវិធីប្រើប្រាស់ ។
2. កាលណា form បង្ហាញចុចលើ File menu ។ menu របស់អ្នក
បង្ហាញ ។ កំណត់ចំណាំថា Print command ត្រូវបាន disabled ។ អ្នកអាច ចុចលើចុចលើ commands ផ្សេងទៀត ។
3. ចុចលើ form អ្នកមិនអាចប្រើ Exit command នៅលើ File menu ដែលមិនទាន់មាន; ប្រើ System menu ជំនួស ។
4. ចុចលើ Exit ដែល form ព្យាយាមបិទ close ។ អ្នកត្រូវបានស្នើសុំ ប្រសិនបើ អ្នកបានធ្វើច្បាស់លាស់ដើម្បីបិទ form ។ ប្រសិនបើអ្នកចុចលើ No form ដែលនៅសេសសល់បានបើក; ប្រសិនបើចុចលើ Yes ពេលនេះ form closes និងកម្មវិធីប្រើប្រាស់ត្រូវបានបញ្ចប់ ។
5. ចុចលើ Yes ដើម្បីបិទ form ។
Pop-Up Menu
មានកម្មវិធីប្រើប្រាស់ Windows applications ទំនើបជាច្រើនបាន បង្កើតប្រើ pop-up menus ដែលបង្ហាញកាលណាអ្នកចុចលើ right-click form ឬ control ។ menus តែងតែមាន context-sensitive និងបង្ហាញ commands ដែលអាចអនុវត្តទៅក្នុង control ឬ form ដែលបង្ហាញចំណុចរួម
បង្កើត Pop Up Menu
លំហាត់ខាងក្រោមនេះ អ្នកនឹងបង្កើត pop-up menus ពីរ ។ pop-up menu ទីមួយត្រូវបានភ្ជាប់ទៅ firstName និង lastName text box controls ហើយអនុញ្ញាតអោយអ្នកប្រើប្រាស់កំណត់ច្បាស់ controls ។ pop-up Menu ទីពីរត្រូវបានភ្ជាប់ទៅ form និងផ្ទុក commands ដើម្បីរក្សាទុក ដែលអាចមើលពត៌មានរបស់សមាជិកនិងសំរាប់ធ្វើអោយបានច្បាស់ form ។ ដើម្បីធ្វើ ដូចនេះ អ្នកបង្កើតដោយប្រើ menu item ដែលមានស្រេចជាងការប្រសើជាការ បង្កើតថ្មីមួយ ។
បង្កើត first Name និង last​ Name pop up menu
1. ក្នុងសន្លឹក Design View ដែលមើលឃើញ MemberForm ទាញ ContextMenu control ពីក្នុង Toolbox រួចហើយ drop វាលើ form ។ (ប្រសិនបើ Toolbox មិនអាច visible ចុចលើ Toolbox ពីក្នុង View menu) ContextMenu object ដែលហៅថា contextMenu1 បង្ហាញខាងក្រោមនៃ form ។
a2. ជ្រើសរើស contextMenu1 control វាយសរសេរ textBoxMenu ក្នុងប្រអប់ (Name) text box ក្នុងសន្លឹក Properties រួចហើយចុចលើ Enter
3. ចុចលើ Context Menu title text វាយសរសេរ caption ដែល
បង្ហាញក្រោមវា ។
4. ចុចវាយសរសេរ caption វាយសរសេរ Clear Text រួចចុចលើ Enter ។
5. ចុចលើ Clear Text caption សរសេរ textBoxClearItem ក្នុងប្រអប់ (Name) text box ក្នុងសន្លឹក Propertiesរួចចុចលើ Enter ។
6. ចុចលើប្រអប់ firstName text box control (ដំបូងឈ្មោះ Name label) ។ ក្នុងសន្លឹក Properties ប្តូរ ContextMenu property ទៅជា textBoxMenu ។
7. ចុចលើប្រអប់ lastName text box control ក្នុងសន្លឹក Properties ប្តូរ ContextMenu property ទៅជា textBoxMenu ។ (controls ជាច្រើនត្រូវបានអនុញ្ញាដើម្បីចែកចាយ same pop-up menu ដូចគ្នា) ។
8. ចុចលើ Right-click  textBoxMenu control នៅខាងក្រោមនៃ form រួចចុចលើ Edit Menu។ menu មួយបង្ហាញ Context Menu caption ។
9. នៅលើ menu ចុចលើ Clear Text ។
10. ក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events វាយសរសេរ textBoxClearClick ក្នុងការចុចលើ event text box រួចចុចលើ Enter ។ event method ថ្មីដែលហៅថា textBoxClearClick គឺត្រូវបានបង្កើតក្នុង Code និង Text Editor ។
11. បន្ថែម statement ខាងក្រោមទៅ textBoxClearClick event method:
if (this.Tag.Equals(firstName))
{
firstName.Clear();
firstName.Focus();
}
else
{
lastName.Clear();
lastName.Focus();
11. ប្រសិនបើ SourceControl property នៃ pop-up menu យោងតាមប្រអប់ firstName text box និង firstName.Clear method ។
12. នៅលើ Debug menu ចុចលើ Start ។ project compiles រួចរត់ ដំណើរការ ។
13. កាលណា form បង្ហាញវាយសរសេរឈ្មោះទៅក្នុង First Name និងប្រអប់ Last Name text boxes ។
14. ចុចលើ Right-click នៃប្រអប់ First Name text box ។ pop-up menu បង្ហាញដែលផ្ទុក Clear Text command ។
15. ចុចលើ Clear Text command ។ ប្រអប់ First Name text box បានបង្ហាញច្បាស់ ។
16. វាយសរសេរឈ្មោះទៅក្នុងប្រអប់ First Name text box រួចប្តូរ move ទៅប្រអប់ Last Name text box ។ ចុចលើ Right-click លើប្រអប់ Last Name text box ដើម្បីមើល pop-up menu ។
17. ចុចលើ Right-click គ្រប់កន្លែងនៅលើ form ។ ពីព្រោះវា First Name និង Last Name text boxes ដែលមាន pop-up menus។
18. បិទ form ទាំងអស់ ។
សរសេរ saveMemberClick
  1. បង្ហាញ MemberForm ក្នុងសន្លឹក Design View ចុចលើ File menu រួច ហើយចុចលើ Save Member។
  2. ក្នុងសន្លឹក Properties ចុចលើប៊ូតុង Events ជ្រើសរើសចុចលើ event វាយសរសេរ saveMemberClick រួចហើយចុចលើ Enter។
  3. ក្នុង Code និង Text Editor ទាញទៅខាងលើ MemberForm.cs file សរសេរ code:
using System.IO;
  1. ត្រឡប់ចូល saveMemberClick នៅចុងបញ្ចប់សរសេរ MemberForm.cs file
writer.WriteLine(“First Name: ” + firstName.Text);
writer.WriteLine(“Last Name: ” + lastName.Text);
writer.WriteLine(“Tower: ” + towerNames.Text);
writer.WriteLine(“Captain: ” + isCaptain.Checked);
writer.WriteLine(“Member Since: ” + memberSince.Text);
writer.WriteLine(“Methods: “);
foreach(object methodChecked in methods.CheckedItems) {
writer.WriteLine(methodChecked.ToString());
}
writer.Close();
MessageBox.Show(“Member details saved”, “Saved”);
មេរៀន VC#.NET-Menu និង Dialog Box
View detail
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. ទឹកអំពៅ - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger