Cách thực hiện: Trong cửa sổ Solution Explorer, Click chuột phải vào Form1 Delete Sau đó Click chuột phải trên MyProject Add Windows Form Control Toolbox Form Properties Control
Trang 1BÀI TẬP CHƯƠNG 1: WINDOWS FORM
Mục tiêu : hiểu được cách thiết kế và lập trình Windows Form.
Mỗi Solution hoặc Project có các loại tập tin sau:
MyName.sln Đây là file solution (file text) lưu trữ thông tin về solution và project
Nếu project đã có sẵn thì ta sẽ mở file này để tiếp tục project
frmMyName.cs Lưu trữ code trong form
frmMyName.Designer.c
frmMyName.rexs Đây là file resource, định nghĩa tất cả system resources sử dụng
trong form
MyName.csproj File project này mô tả thông tin project và danh sách các file có trong
project
Program.cs Là tập tin tự phát sinh khi tạo project và cũng là tập tin bắt đầu 1
ứng dụng
Các files khác Sau khi thực thi 1 project thì một số file khác sẽ tự động phát sinh
trong thư mục solution
Bắt đầu 1 ứng dụng Windows Form
Click Start All program Microsoft Visual Studio 2005 Microsoft Visual Studio 2005
Trang 2Hình 1: Cửa sổ giao diện VS 2005
Tạo project mới: File New Project
Chọn ngôn ngữ
Chọn ứng dụng Windows Form
Tên Project
Thư mục lưu Project
Tên Solution
Trang 3Sau khi chọn ngôn ngữ, ứng dụng, đặt tên project, … click OK
Hình 3: cửa sổ thiết kế giao diện
Hình 4: tập tin Program.cs Tập tin Program.cs: chọn tập tin khởi động đầu tiên
Lưu ý : trước khi làm bài tập thì nên Delete Form1, tạo Form mới và đặt tên theo yêu cầu
Bài tập
Cách thực hiện:
Trong cửa sổ Solution Explorer, Click chuột phải vào Form1 Delete
Sau đó Click chuột phải trên MyProject Add Windows Form
Control Toolbox
Form Properties Control Toolbox
Form Properties
Trang 4Cửa sổ Add New Item xuất hiện:
Trang 5Bài 1:
Thực hiện Form sau:
Khi Form load thực hiện nhập tên, năm sinh vào TextBox YourName và Year of Birth tương ứng Nếu YourName không nhập dữ liệu, năm sinh không phải là số thì phải thông báo lỗi (dùng ErrorProvider)
Khi người dùng nhấn nút Show sẽ hiễn thị thông tin nhập vào messagebox bao gồm: tên, tuổi (năm hiện tại – năm sinh)
txtYourName txtYearOfBirth
btnExit
btnClear btnShow
errorProvider
Trang 6 Khi người dùng nhấn nút Clear sẽ xóa thông tin đã nhập trên các TextBox, đặt con trỏ văn bản vào Textbox YourName
Nút Exit xác nhận người dùng có thực sự muốn thoát khỏi chương trình không? Yes: thoát, No: không
Hướng dẫn:
Danh sách các thuộc tính của các Object:
Text: My name Project FontName: Tahoma
FontSize: 11 AcceptButton: btnShow (nhận sự kiện Click chuột
khi nhấn Enter) CancelButton: btnExit (nhận sự kiện Click chuột
khi nhấn Esc)
FormClosing
txtYourName Name: txtYourName
BorderStyle: FixSingle
Leave (mất tiêu điểm)
BorderStyle: FixSingle
TextChanged
Text: &Show
Click
Text: &Clear
Click
Trang 7Text: E&xit
errorProvider Name: errorProvider1
Thứ tự nhận tiêu điểm trên Form: chọn menu View Tab Order
Lần lượt thực hiện click chọn từng phần tử trên Form theo thứ tự nhận tiêu điểm:
TabIndex=2
TabIndex=4
TabIndex=5
TabIndex=3
TabIndex=6
Trang 8 Các sự kiện:
Trang 9 Tập tin Program.cs: thay đổi Form thực thi đầu tiên là frmBaiTap1:
Trang 10Bài 2:
Tạo một chương trình dùng để qui đổi tiền từ VND sang USD và ngược lại, từ VND sang EUR và ngược lại
Yêu cầu:
Khi form load thực hiện nhập số tiền cần qui đổi vào Textbox, nếu nhập dữ liệu không phải
là số hoặc để trống thì sẽ hiển thị lỗi vào errorProvider
btnVNDtoUSD: thực hiện qui đổi từ VND sang USD ( với tỷ giá là: 1 USD= 17861 VND) và hiển thị vào lblKetQua, làm tròn 2 chữ số thập phân (dùng phương thức Math.Round)
btnUSDtoVND: thực hiện qui đổi từ USD sang VND ( với tỷ giá là: 1 USD= 17861 VND) và hiển thị vào lblKetQua, làm tròn 2 chữ số thập phân (dùng phương thức Math.Round)
btnVNDtoEUR: thực hiện qui đổi từ VND sang EUR ( với tỷ giá là: 1 VND= 27043 VND) và hiển thị vào lblKetQua, làm tròn 2 chữ số thập phân (dùng phương thức Math.Round)
btnEURtoVND: thực hiện qui đổi từ EUR sang VND ( với tỷ giá là: 1 EUR= 27043 VND) và hiển thị vào lblKetQua, làm tròn 2 chữ số thập phân (dùng phương thức Math.Round)
sự kiện FormClosing: xác nhận người dùng có chắc chắn thoát không? Yes: thoát, No: không
Trang 11Bài 3:
Thêm vào project một windows form, hiện thực bài toán giải phương trình bậc 1:
Yêu cầu:
Khi form load thực hiện nhập số A, B Nếu dữ liệu nhập không hợp lệ thì thông báo lỗi (dùng errorProvider) btnTinh, btnXoa bị mờ (Enabled=false) Sau khi nhập dữ liệu hợp lệ
và đầy đủ thì btnTinh có tác dụng (Enabled=true)
btnTinh: tính nghiệm phương trình (xét tất cả các trường hợp xảy ra: PT có 1 nghiệm, vô nghiệm, vô số nghiệm) và lưu kết quả vào lblKetQua Khi đó btnXoa có tác dụng, btnTinh bị mờ
btnXoa: Xóa các Textbox và label Kết Quả, đặt con trỏ vào TextBox A, btnXoa bị mờ
btnThoat: xác nhận người dùng có chắc chắn thoát khỏi ứng dụng hay không? Yes: thoát, No: không
Bài 4: Viết chương trình đọc năm Âm lịch khi có năm Dương lịch tương ứng, biết:
Năm DL MOD 10=0_9: Canh – Tân – Nhâm – Quý – Giáp - Ất – Bính – Đinh – Mậu – Kỷ
Năm DL MOD 12=0_11: Thân – Dậu – Tuất – Hợi – Tý – Sửu – Dần – Mẹo – Thìn – Tỵ Ngọ -Mùi
(Lưu ý: Kiểm tra nhập dữ liệu trong textbox Nhập Năm Dương lịch)
Trang 12Bài 5: Viết chương trình nhập vào số nguyên N, kiểm tra N có phải là số nguyên tố hay không?
(xem giao diện)
Tương tự bài trên: hãy thêm các button “Tính tổng N số nguyên Dương đầu tiên”, “Tính tổng N
số nguyên Dương chẵn đầu tiên”, “Tính giai thừa N”, “Kiểm tra số hoàn thiện”,…
Lưu ý: số hoàn thiện là số có Tổng các ước số của nó bằng chính nó
VD: 6= 1+ 2 + 3: 6 là số hoàn thiện
Bài 6: Viết chương trình Nhập vào 2 số a, b Xuất ra USCLN va BSCLN của 2 số a và b ( tự vẽ
giao diện)
Trang 13Bài 7:
Hãy tạo một project giúp cho rạp chiếu phim quản lý việc bán vé của mình Rạp có 6 hàng ghế, mỗi hàng có 3 ghế, các ghế được đánh số từ 1 đến 15 và được phân thành 3 lô như (hình trên):
Giá vé lô A 1000/vé
Giá vé lô B 1500/vé
Giá vé lô C 2000/vé
Trên Form trình bày một sơ đồ các chổ ngồi để người sử dụng chọn vị trí muốn mua Trên sơ
đồ này cũng thể hiện những vị trí đã bán vé và những vị trí chưa bán vé bằng cách thể hiện màu khác nhau (ghế chưa bán vé màu trắng, ghế đã bán vé màu vàng) Khi người sử dụng click chuột tại một vị trí trên sơ đồ thì:
Nếu đây là vị trí chưa bán vé thì đổi màu của vị trí này sang màu xanh để cho biết đây
là vị trí đang chọn
Trang 14 Nếu đây là vị trí đang chọn (có màu xanh) thì đổi màu của vị trí này trở về màu
trắngNếu đây là một vị trí đã bán vé thì xuất hiện một Message box thông báo cho người sử dụng biết
Sau khi đã chọn các vị trí người shử sụng có thể click chuột vào nút CHỌN hoặc HỦY BỎ Nếu click vào nút CHỌN thì:
Đổi màu các vị trí đã chọn (màu xanh)trên sơ đồ sang màu vàng (cho biết vị trí đã bán vé)
Xuất lên một Label tổng số tiền phải trả cho số vé đã mua (phụ thuộc vào các vị trí đã chọn)
Nếu click vào nút HỦY BỎ thì:
Đổi màu các vị trí đã chọn (màu xanh) trên sơ đồ sang màu trắng trở lại
Xuất lên label giá trị 0