



















Preview text:
lOMoAR cPSD| 60755984 lOMoAR cPSD| 60755984 Mục lục
LỜI MỞ ĐẦU .......................................................................................................... 0
CHƯƠNG 1. GIỚI THIỆU .................................................................................... 1
1. Giới thiệu đề tài ............................................................................................... 1
1.1. Lý do chọn đề tài ........................................................................................ 1
1.2. Tính cấp thiết .............................................................................................. 1
1.3. Ý nghĩa khoa học và thực tiễn .................................................................... 1
1.4. Mục đích nghiên cứu ................................................................................... 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ........................................................................ 3
2.1. Cơ sở lý thuyết của đề tài ............................................................................ 3
2.1.1 Windows Form ......................................................................................... 3
2.1.2 Control ...................................................................................................... 3
2.1.3 Event ......................................................................................................... 4
CHƯƠNG 3: THỰC NGHIỆM .............................................................................. 5
3.1. Chương trình ................................................................................................ 5
3.2 Giao diện Chương trình bài 1 ...................................................................... 5
3.2.1 Giao diện Bài tập 1 ................................................................................... 5
3.2.1.1 Các bước thực hiện ............................................................................. 6
3.2.1.2 Yêu cầu ............................................................................................. 12
3.2.2 Source code và các chức năng bài 1 ....................................................... 15
3.2.2.1 Chức năng thoát ................................................................................ 15
3.2.2.2 Chức năng tính tiền ........................................................................... 15
3.2.2.3 Chức năng in hoá đơn ....................................................................... 16
3.3.Giao diện chương trình bài 2 .................................................................... 17
3.3.1 Giao diện bài tập 2 .................................................................................. 17
3.3.1.1 Giao diện nhập các số nguyên và update vào listbox ....................... 18
3.3.1.2 Giao diện chức năng tính tổng danh sách ......................................... 19
3.3.1.3 Giao diện chức năng tính tổng số chẵn trong danh sách .................. 19 lOMoAR cPSD| 60755984
3.3.1.4 Giao diện chức năng tính tổng số lẻ trong danh sách ....................... 19
3.3.1.5 Giao diện sau khi dùng chức năng tăng mỗi phần tử lên 2 .............. 19
3.3.1.6 Giao diện sau khi dùng chức năng thay bình phương ...................... 20
3.3.1.7 Giao diện khi sau khi dùng chức năng chọn số chẵn ....................... 20
3.3.1.8 Giao diện sau khi dùng chức năng chọn số lẻ .................................. 21
3.3.1.9 Giao diện sau khi dùng chức năng xoá phần tử đầu và cuối ............ 21
3.3.1.10 Giao diện sau khi dùng chức năng xoá phần tử đang chọn ............ 22
3.3.1.11 Giao diện chức năng tìm số lớn nhất .............................................. 22
3.3.1.12 Giao diện chức năng nhân mỗi phần tử cho 2 ................................ 23
3.3.1.13 Giao diện chức năng làm mới ......................................................... 23
3.3.2 Source code và các chức năng bài 2 ....................................................... 24
3.3.2.1 Chức năng update ............................................................................. 24
3.3.2.2 Chức năng tính tổng danh sách ......................................................... 24
3.3.2.3 chức năng tính tổng số chẵn ............................................................. 24
3.3.2.4 chức năng tính tổng số lẻ .................................................................. 25
3.3.2.5 chức năng tăng mỗi phần tử lên 2 ..................................................... 25
3.3.2.6 chức năng thay bình phương ............................................................ 26
3.3.2.7 chức năng chọn số chẵn .................................................................... 26
3.3.2.8 chức năng chọn số lẻ......................................................................... 26
3.3.2.9 chức năng xoá phần tử đầu và cuối .................................................. 26
3.3.2.10 chức năng xoá phần tử đang chọn .................................................. 27
3.3.2.11 chức năng tìm số lớn nhất ............................................................... 27
3.3.2.11 chức năng tìm số nhỏ nhất .............................................................. 27
3.3.2.11 chức năng nhân mỗi phần tử cho 2 ................................................. 28
3.3.2.12 chức năng làm mới ......................................................................... 28
3.3.2.13 chức năng kết thúc .......................................................................... 28
CHƯƠNG 4: THỰC NGHIỆM ............................................................................ 29
4.1. Kết luận ....................................................................................................... 29
4.2. Hạn chế ....................................................................................................... 29
4.3 Hướng phát triển ........................................................................................ 30
Tài liệu tham khảo ............................................................................................ 30 lOMoAR cPSD| 60755984 1 LỜI MỞ ĐẦU
- Lập trình Windows Form là một trong những phương pháp phát triển phần
mềm phổ biến nhất hiện nay. Sử dụng Windows Form, bạn có thể thiết kế các ứng
dụng desktop đa dạng và chuyên nghiệp. Bằng cách sử dụng các control nâng cao
được cung cấp bởi .NET Framework, bạn có thể xây dựng các ứng dụng có tính
tương tác cao với người dùng.
- Winform C# là tạo giao diện cho các ứng dụng trên Desktop bằng ngôn
ngữ C#. Nó đi liền với nhau nhiều đến nỗi ta quen gọi tắt là lập trình Winform C#.
Các ứng dụng này phù hợp với việc quản lý thông tin từ các app trên Desktop cũng
như ứng dụng tương tác với người dùng. Hiện nay vẫn còn rất nhiều học Winform
C# vì đặc tính dễ học, đơn giản, nhất là đối với sinh viên thường lựa chọn để làm
đồ án. Làm Winform lập trình viên được đào tạo từ cơ bản đến nâng cao về kỹ thuật
sử dụng Combobox, Data table, Dataset, NumericUpdown. Từ việc tạo giao diện
cho ứng dụng đến việc sử dụng các control nâng cao để tạo ra ứng dụng đa nền
tảng. Chúng ta cũng sẽ tìm hiểu cách sử dụng các control được cung cấp bởi .NET
Framework để tạo ra các ứng dụng có tính tương tác cao hơn. lOMoAR cPSD| 60755984
- Vì vậy để hiểu rõ hơn về lập trình Windows Form và các control nâng cao
được cung cấp bởi .NET Framework. Chúng em quyết định chọn đề tài nghiên cứu
“Lab04 lập trình window form với các control nâng cao” lOMoAR cPSD| 60755984
CHƯƠNG 1. GIỚI THIỆU
1. Giới thiệu đề tài
1.1. Lý do chọn đề tài -
Trong thời đại công nghệ số, việc phát triển các ứng dụng desktop còn
rất quan trọng, đặc biệt là các ứng dụng quản lý, hệ thống bán hàng, in hoá đơn ,...
Sử dụng các control nâng cao giúp tăng tính chuyên nghiệp và đáp ứng yêu cầu của
người dùng. Các control nâng cao cho phép chúng ta tạo ra các ứng dụng có giao
diện đẹp mắt, tương tác với người dùng một cách tốt nhất. Điều này giúp tăng tính
chuyên nghiệp và thu hút người sử dụng. -
Tất cả các yếu tố hình ảnh trong thư viện lớp Windows Forms xuất
phát từ lớp Control. Điều này cung cấp chức năng tối thiểu của một yếu tố giao diện
người dùng như vị trí, kích thước, màu sắc,phông chữ , văn bản, cũng như các sự
kiện phổ biến như nhấp và kéo / thả. Lớp Control cũng có hỗ trợ lắp ghép để cho
phép kiểm soát sắp xếp lại vị trí của nó dưới cha mẹ của nó. Hỗ trợ khả năng truy
cập Microsoft Active trong lớp Control cũng giúp người dùng bị khiếm khuyết sử
dụng Windows Forms tốt hơn.
1.2. Tính cấp thiết
- Với sự phát triển của công nghệ thông tin, nhu cầu sử dụng phần mềm
ứng dụng trên nền tảng Windows ngày càng tăng cao. Việc nghiên cứu và ứng
dụng các control nâng cao trong lập trình Windows Form sẽ giúp cho các nhà phát
triển phần mềm có thể tạo ra những sản phẩm chất lượng cao và đáp ứng tốt nhu cầu của người dùng.
1.3. Ý nghĩa khoa học và thực tiễn
- Nghiên cứu về lập trình Windows Form và các control nâng cao là một lĩnh
vực cơ bản trong kỹ thuật phần mềm, giúp các nhà phát triển có thể tạo ra phần mềm
có tính tương tác cao và giao diện đẹp mắt. Áp dụng thành công các control nâng
cao trong lập trình Windows Form sẽ giúp cho các sản phẩm phần mềm trở nên đa
dạng và mang lại trải nghiệm tốt hơn cho người dùng. lOMoAR cPSD| 60755984
1.4 Mục đích nghiên cứu
- Nghiên cứu về lập trình Windows Form và các control nâng cao nhằm tạo
ra các sản phẩm phần mềm có tính tương tác cao và đáp ứng tốt nhu cầu của người
dùng. Tìm hiểu về các control nâng cao trong lập trình Windows Form như:
NumericUpDown, Combobox, ListBox, GroupBox... Xây dựng các ứng dụng thực
tế như ứng dụng tính tiền khám răng sử dụng các control nâng cao này để giúp người
dùng có được trải nghiệm tốt hơn khi sử dụng phần mềm. Đánh giá hiệu quả và tính
khả thi của việc sử dụng các control nâng cao trong lập trình Windows Form. lOMoAR cPSD| 60755984
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Cơ sở lý thuyết của đề tài
- Để phục vụ cho việc nghiên cứu liên quan đến đề tài ta cần nắm rõ những nội dung
như: Windows Form, Control, Event. 2.1.1 Windows Form
- Windows Form là một phần trong .NET Framework của Microsoft, cho
phép lập trình viên tạo ra các ứng dụng desktop trên hệ điều hành Windows. Nó cung
cấp một giao diện người dùng đồ họa (GUI) để hiển thị các nút bấm, textbox, menu,
hộp thoại và các thành phần khác để tương tác với người dùng. Windows Form được
xây dựng trên nền tảng Windows API có sẵn trong Windows để hiển thị các thành
phần giao diện người dùng. Nó cung cấp cho các lập trình viên các công cụ để thiết
kế giao diện người dùng và viết mã xử lý sự kiện kết hợp với nhau để tạo ra các
chương trình ứng dụng desktop trên Windows. 2.1.2 Control -
Trong Windows Form, Control là một đối tượng cơ bản được sử dụng
để hiển thị các thành phần của giao diện người dùng, chẳng hạn như nút bấm, hộp
văn bản, hình ảnh và nhiều hơn nữa. Các đối tượng Control có thể được thêm vào
trong Visual Studio thông qua thanh công cụ Toolbox hoặc thông qua mã. Một số
tính năng cơ bản của Control trong Windows Forms gồm:
+ Thuộc tính: Tất cả các Control trong Windows Form đều có các thuộc tính
khác nhau để điều chỉnh các tính năng của chúng. Ví dụ, thuộc tính Text được sử
dụng để thiết lập hoặc lấy giá trị của nội dung của một Control, thuộc tính Visible
được sử dụng để thiết lập trạng thái hiển thị của một Control, vv.
+ Layout: Control trong Windows Form được sắp xếp theo các khuôn mẫu
layout khác nhau, chẳng hạn như FlowLayout, GridLayout và TableLayout. Các
layout này giúp định vị và tổ chức các Control trên một Form.
+ Tích hợp: Control trong Windows Form có thể được tích hợp với nhau để
tạo thành giao diện người dùng phức tạp hơn, ví dụ như kết hợp nhiều nút bấm và lOMoAR cPSD| 60755984
hộp văn bản để tạo thành một Form đăng nhập. Đây chỉ là một số tính năng cơ bản
của Control trong Windows Form. -
Việc sử dụng các Control này rất quan trọng để tạo ra các giao diện
người dùng chuyên nghiệp và tiện lợi cho người dùng. 2.1.3 Event -
Trong Windows Form, Event (hay sự kiện) là một hành động hoặc tương tác
người dùng mà ứng dụng có thể phản hồi. Khi xảy ra một sự kiện, chẳng hạn như
nhấn một nút hoặc di chuyển chuột trên một Control, ứng dụng sẽ gọi một phương
thức định trước để xử lý sự kiện đó. Mỗi Control trong Windows Form có nhiều sự
kiện khác nhau, ví dụ như Click, MouseDown, KeyPress và một số sự kiện khác.
Với mỗi sự kiện, bạn có thể kết nối một phương thức xử lý sự kiện (event handler)
để thiết lập các hành động được thực hiện khi sự kiện xảy ra.
Ví dụ, nếu bạn muốn bật hoặc tắt một Control khi nhấp vào một nút bấm, bạn có thể
kết nối một phương thức xử lý sự kiện với sự kiện Click của nút đó. -
Việc sử dụng event trong Windows Form rất quan trọng để tạo ra các ứng
dụng phản hồi được với người dùng. Bằng cách kết nối các phương thức xử lý sự
kiện, bạn có thể tạo ra các hành động tùy chỉnh để phản hồi với các tương tác người dùng khác nhau.
CHƯƠNG 3: THỰC NGHIỆM
3.1. Chương trình
Mục đích của bài báo cáo này là tìm hiểu cách lập trình Windows Form với các Control nâng cao.
Làm quen với việc sử dụng các control trên form như:
▪ NumericUpDown: Hộp chon tăng giảm giá trị số.
▪ Combobox: Hộp chọn 1 giá trị trong danh sách giá trị
▪ ListBox: Danh sách các mục chọn, cho phép chọn 1 hoặc nhiều mục
▪ GroupBox: Nhóm các đối tượng về cùng nhóm lOMoAR cPSD| 60755984
3.2 Giao diện Chương trình bài 1
3.2.1 Giao diện Bài tập 1
• Tạo một ứng dụng Windows Form cơ bản tính tiền công dịch vụ tại phòng nha.
• Với mỗi khách hàng, các dịch vụ cung cấp gồm: tẩy răng, cạo vôi, chụp hình
răng và trám răng. Mỗi loại sẽ có chi phí riêng. Cuối cùng tính tổng các chi
phí mà người khách phải trả. Lưu ý: chỉ tính tiền khi phần thông tin tên khách
hàng đã được nhập (nếu thông tin này chưa có thì chương trình phát sinh MessageBox cảnh báo).
• Ứng dụng có giao diện đơn giản như hình 1 bên dưới.
Hình 1: Giao diện chính của ứng dụng bài 1
3.2.1.1 Các bước thực hiện
Tạo ứng dựng Windows Form có tên DentalPaymentApp lOMoAR cPSD| 60755984
2. Ch ọ n lo ạ i ứ ng d ụ ng cho Project
1. Ch ọ n ngôn ng ữ lậ p trình
3. Đ ặ t tên Project
4. Ch ọ n v ị trí lưu Project
5. Đ ồ ng ý t ạ o Project
Hình 2: Tạo ứng dụng Windows Form
Sau khi hoàn tất các bước trên VS.NET sẽ phát sinh ra một project Windows Form
mẫu, cho phép người lập trình bắt đầu xây dựng các ứng dụng. Giao diện của
VS.NET cho ứng dụng vừa tạo có dạng như hình 3 bên dưới. lOMoAR cPSD| 60755984
Hình 3: Màn hình VS. NET phục vụ cho việc tạo project Windows Form
Bảng 1: Mô tả các control trên form STT Name Control
Thiết lập các thuộc tính cho control 1 lblTitle Label
Text = “Dental Payment Form”, Font =
“Impact, Size = 17”, ForeColor = Blue 2 lblName Label
Text = “Tên khách hàng” 3 txtName TextBox 4 chkCaovoi CheckBox Text = “Cạo vôi” 5 lblCaovoi Label Text=”$100000” 6 chkTaytrang CheckBox Text=”Tẩy trắng” 7 lblCaovoi Label Text=”$1200000” 8 chkChuphinhrang CheckBox Text=”Chụp hình răng” 9 lblChuphinhrang Label Text=”$200000” 10 lblTramrang Label Text=”Trám răng” 11 numFilling NumericUpDown lOMoAR cPSD| 60755984 12 lblFillCost Label Text=”$80000” 13 lblTotal Label Text=”Total” 14 txtTotal TextBox Enable = False 15 btnThoat Button Text=”Thoát” 16 btnTinhTien Button Text=”Tính tiền” 17 btnInhoadon Button Text=”In hoá đơn”
Hình 4: Giao diện của Form bài tập 2 lOMoAR cPSD| 60755984
Hình 5: Minh họa việc đổi tên của TextBox trên Form
Hình 6: Minh họa cách kích đúp vào button để tạo event handler lOMoAR cPSD| 60755984
Hình 7: Minh họa các bước khai báo event handler từ cửa sổ properties của button 3.2.1.2 Yêu cầu
- Tạo chức năng tính tiền, chức năng này được kích hoạt khi button “Tính tiền” được chọn.
Mô tả chức năng Tính tiền như sau (Tinhtien() là phương thức thành viên của lớp Form chính:
+ Kiểm tra xem tên khách hàng có được nhập hay không?
+ Nếu chưa: xuất thông báo, yêu cầu nhập tên khách.
+ Đã nhập: thực hiện các bước sau Total = 0
If (cạo vôi) Total += 500.000
If ( tẩy trắng) Total += 900.000 lOMoAR cPSD| 60755984
If ( chụp hình răng) Total +=200000 Total += (số răng trám)*80000 Xuất số tiền ra TextBox txtTotal
Tạo trình xử lý sự kiện cho button btnCalc rồi trong trình xử lý sự kiện này gọi chức năng GetPay.
• Trường hợp không nhập tên khách hàng: phát sinh message box cảnh báo
• Hình 8: Không tính tiền khi chưa nhập tên khách hàng
Màn hình sau khi tính tiền cho khách lOMoAR cPSD| 60755984
Hình 9: Màn hình tính tiền cho khách
Màn hình in hoá đơn cho khách
Hình 10: Màn hình in hoá đơn cho khách
3.2.2 Source code và các chức năng bài 1 lOMoAR cPSD| 60755984
3.2.2.1 Chức năng thoát
3.2.2.2 Chức năng tính tiền lOMoAR cPSD| 60755984
3.2.2.3 Chức năng in hoá đơn