1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Huong dan bai tap form co ban

21 96 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 860,54 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Yêu cầu của bài tập có các thao tác xử lý trên phân số, do vậy cần phải xây dựng lớp phân số để xử lý các tính toán.. • Lớp phân số nên tạo độc lập riêng với bài tập nhằm có thể sử dụn

Trang 1

HƯỚNG DẪN THỰC HIỆN BÀI TẬP

XỬ LÝ TRÊN FORM CƠ BẢN

Mục tiêu: Giúp sinh viên hiểu và nắm bắt một số vấn đề:

1 Hiểu được nguyên tắc thiết kế lớp đối tượng cơ bản

2 Sử dụng được lớp có sẵn trong bài tập lập trình có giao diện

3 Một số thao tác xử lý sự kiện cơ bản trên Form

Bài tập: Hãy thiết kế giao diện theo Hình 1 và cài đặt xử lý tương ứng theo yêu cầu

Trang 2

• Yêu cầu của bài tập có các thao tác xử lý trên phân số, do vậy cần phải xây dựng lớp phân số để xử lý các tính toán

• Lớp phân số nên tạo độc lập riêng với bài tập nhằm có thể sử dụng cho các bài tập khác (nên đặt chung trong cùng solution với bài tập để dễ dàng quản lý và viết code)

• Lớp phân số là lớp tiện ích bao gồm các thao tác xử lý tính toán nên chỉ cần tạo ứng

dụng dạng Console

2 Các bước thực hiện

(Các minh họa được thực hiện trên công cụ MS Visual Studio 2015, ngôn ngữ C#)

Bước 1 Nếu đã có Solution (ví dụ có sẵn Solution với tên là CSharpForWindows) thì chỉ

cần tạo thêm Project mới để tạo lớp Phân số (PhanSo) vào trong Solution đã có (Hình 3) Nếu chưa có sẵn Solution thì chuyển sang Bước 2

1 Click phải vào Solution CSharpForWindows trong cửa sổ Solution Explorer

(menu View\Solution Explorer)

2 Chọn Add\New Project… (Hình 3)

Hình 3 Thêm mới Project vào trong Solution có sẵn

3 Đặt tên Project là ProjectPhanSo (Hình 4 - lưu ý không thay đổi những thông tin

mặc định khác)

Trang 3

Hình 4 Đặt tên cho Project mới

Bước 2 Tạo mới Solution đối với trường hợp chưa có

1 Chọn menu File\New\Project (Hình 5)

Hình 5 Tạo Project mới

2 Chọn Templates C#\Windows\Console Application, tên Project là ProjectPhanSo

và tên Solution là CSharpForWindows (Hình 6)

Trang 4

Hình 6 Tạo mới Solution và Project

Bước 3 Tạo mới lớp Phân số (PhanSo)

1 Click phải vào ProjectPhanSo, chọn Add\Class… (Hình 7)

Trang 5

Hình 7 Tạo mới lớp PhanSo

2 Đặt tên lớp PhanSo (Hình 8), chọn nút Add

Hình 8 Đặt tên cho lớp

Trang 6

Bước 4 Viết code cho lớp PhanSo (Hình 9) – public class để truy xuất ngoài Project

namespace ProjectPhanSo

{

public class PhanSo

{

private int tu;

private int mau;

// Tạo các property

// Tạo các constructors: default, parameter (2 tham số) và copy

// Định nghĩa các phương thức: cộng, trừ, nhân, và chia

// (có rút gọn thành phân số tối giản)

// Định nghĩa các operator: +, -, *, và /

} }

Hình 9 Lớp PhanSo

Trang 7

Bước 5 Chạy thử các chức năng của lớp PhanSo trong phương thức Main() trong file

Program.cs

Bước 6 Tạo thêm Project mới (Hình 10) vào trong Solution CSharpForWindows và đặt

tên ProjectFormPhanSo (thực hiện tương tự Bước 1 nhưng chọn Template là

C#\Windows\Windows Forms Application)

Hình 10 Thêm ProjectFormPhanSo vào Solution hiện hành

Bước 7 Chọn Project sẽ thực hiện khi chạy chương trình: Click phải vào ProjectFormPhanSo chọn Set as StartUp Project (Hình 11)

Trang 8

Hình 11 Thiết lập ProjectFormPhanSo sẽ được thực thi khi chạy chương trình

Bước 8 Đổi tên Form1 (được tạo ra mặc định từ công cụ) thành tên mới là FormChinh

1 Trong cửa sổ Solution Explorer, click phải vào Form1 chọn Rename (Hình 12)

Trang 9

Hình 12 Đổi tên Form1

2 Đặt tên mới là FormChinh (Hình 13) Chọn Yes nếu có xuất hiện hộp thoại (Hình

11) Kiểm tra tên đã được đổi như Hình 14

Hình 13 Xác nhận đổi tên Form1

Trang 10

Hình 14 Form1 sau khi được đổi tên thành FormChinh

Bước 9 Thiết kế giao diện cho FormChinh

1 Tên Form: Đã được tự động đặt tên là FormChinh (Bước 8)

2 Bật cửa sổ đặt thuộc tính cho FormChinh (Hình 15): Click phải vào trong FormChinh

ở chế độ Design, chọn Property (Để mở chế độ Design của Form bằng cách double

click vào biểu tượng trong cửa sổ Solution Explorer)

Trang 11

Hình 15 Đặt thuộc tính cho FormChinh

3 Trong cửa sổ thuộc tính của Form có thể đặt tên Form (name), tiêu đề Form (Text) Hình 16 minh họa đặt tiêu đề cho Form

Trang 12

Hình 16 Thiết lập các thuộc tính cho FormChinh

4 Thiết kế giao diện bằng cách chọn các control tương ứng trong Toolbox (Hình 17)

Toolbox thường nằm bên trái của của sổ design (nếu không có thì chọn menu

View\Toolbox)

Hình 17 Các control dùng trong thiết kế giao diện

Trang 13

Hình 18 Giao diện của FormChinh chương trình

Lưu ý:

- Mỗi control cần phải đặt tên (trong Property name) trước khi viết code xử lý

- Hình 18 gồm: 5 buttons, 6 textboxs, 3 labels và 1 groupbox Trong đó labels và groupbox không cần đặt tên, chỉ cần thay đổi thuộc tính Text để hiển thị chữ

tương ứng trong Form (trong ngữ cảnh bài tập này không xử lý đến các control

o Textbox tử phân số 1: txtTu1 (Enable = false, ReadOnly = true)

o Textbox mẫu phân số 1: txtMau1 (Enable = false, ReadOnly = true)

o Textbox tử phân số 2: txtTu2 (Enable = false, ReadOnly = true)

o Textbox mẫu phân số 2: txtMau2 (Enable = false, ReadOnly = true)

o Textbox tử kết quả: txtKQTu (Enable = false, ReadOnly = true)

o Textbox mẫu kết quả: txtKQMau (Enable = false, ReadOnly = true)

Bước 10 Thiết kế giao diện cho Form nhập phân số (FormNhapPhanSo)

1 Tạo thêm một Form mới trong ProjectFormPhanSo: Click phải vào ProjectFormPhanSo chọn Add\Windows Form… (Hình 19)

Trang 14

Hình 19 Thêm một Form mới vào ProjectFormPhanSo

2 Đặt tên cho Form: FormNhapPhanSo (Hình 20)

Trang 15

3 Thiết kế giao diện FormNhapPhanSo (Hình 21)

Hình 21 Giao diện FormNhapPhanSo

- Tên của các control như sau:

o Nút Chấp nhận: btnChapNhan

o Nút Thoát: btnThoat

o Textbox Tử số: txtTu

o Textbox Mẫu số: txtMau

Bước 11 Tham chiếu đến ProjectPhanSo

Trong chương trình, các Form có sử dụng đối tượng PhanSo để khởi tạo và tính toán Trong đó:

- FormChinh cần lưu phân số thứ 1, phân số thứ 2 và phân số kết quả tính

- FormNhapPhanSo cần lưu phân số được nhập từ bàn phím

Chính vì vậy, trong các Form này phải khai báo các đối tượng PhanSo để lưu trữ thông tin phân số Nghĩa là ta cần phải sử dụng lớp PhanSo trong bài tập này Do đó, việc đầu tiên là phải khai báo tham chiếu đến ProjectPhanSo

1 Trong cửa sổ Solution Explorer, click phải vào ProjectFormPhanSo (project

đang thiết kế Form) chọn Add\Reference… (Hình 22)

Trang 16

Hình 22 Tham chiếu đến ProjectPhanSo

2 Chọn ProjectPhanSo và nhấn OK (Hình 23)

Hình 23 Chọn Project cần tham chiếu

3 Kiểm tra mục References của ProjectFormPhanSo trong Solution Explorer xem có xuất hiện ProjectPhanSo vừa được tham chiếu (Hình 24)

Trang 17

Hình 24 Kiểm tra danh sách các References của Project

Bước 12 Viết code cho FormNhapPhanSo

1 Mở FormNhapPhanSo ở chế độ Design, click phải vào trong Form và chọn View

Code (Hình 25)

Hình 25 Mở cửa sổ code của FormNhapPhanSo

2 Khai báo Fields và các lệnh liên quan đến Fields:

- Sử dụng namespace: using ProjectPhanSo;

- Khai báo Fields: PhanSo ps;

- Tạo Property get cho ps

- Viết thêm lệnh khởi tạo trong default constructor: public FormNhapPhanSo()

Trang 18

{

private PhanSo ps; //Bổ sung

public PhanSo Ps //Bổ sung

Trang 19

Hình 27 Chọn sự kiện TextChanged

- Chọn sự kiện TextChanged, nhấn Enter (hoặc double click chuột) bổ sung lệnh

cho phương thức vừa được sinh ra

private void txtTu_TextChanged( object sender, EventArgs e)

- Chọn sự kiện Click cho nút Chấp nhận

- Viết code: Gắn kết quả trả về khi đóng Form là OK

private void btnChapNhan_Click( object sender, EventArgs e)

{

//Chưa xử lý trường hợp chưa nhập giá trị vào tử và mẫu

DialogResult = DialogResult OK;

Close();

}

6 Xử lý sự kiện cho nhấn nút Thoát

- Chọn sự kiện Click cho nút Thoát

- Viết code: Xác nhận thoát và gắn kết quả trả về khi đóng Form là Cancel

Trang 20

private void btnThoat_Click( object sender, EventArgs e)

{

DialogResult kq = MessageBox Show( this , "Bạn có muốn thoát?" ,

"Đóng Form" , MessageBoxButtons.YesNo,

MessageBoxIcon Question);

if (kq == DialogResult Yes)

DialogResult = DialogResult Cancel;

}

Bước 13 Viết code cho FormChinh

1 Chọn View code của FormChinh

2 Khai báo Fields và các lệnh liên quan đến Fields:

- Sử dụng namespace: using ProjectPhanSo;

- Khai báo Fields: PhanSo ps1, ps2, kq;

3 Viết thêm lệnh khởi tạo trong default constructor: public FormChinh()

Trang 21

4 Xử lý sự kiện Click cho nút Nhập phân số 1

private void btnNhapPhanSo1_Click( object sender, EventArgs e)

{

FormNhapPhanSo frmNhap = new FormNhapPhanSo ();

if (frmNhap.ShowDialog() == DialogResult OK)

5 Xử lý sự kiện Click cho nút Nhập phân số 2: tương tự Nhập phân số 1

6 Xử lý sự kiện Click cho nút Tổng

private void btnTong_Click( object sender, EventArgs e)

7 Xử lý sự kiện Click cho nút Hiệu, Tích: tương tự những ví dụ trên

8 Xử lý sự kiện Click cho nút Thoát

private void btnThoat_Click( object sender, EventArgs e)

{

Close();

}

9 Xác nhận cho sự kiện đóng Form (FormClosing)

private void FormChinh_FormClosing( object sender, FormClosingEventArgs e) {

DialogResult kq = MessageBox Show( this , "Bạn có muốn thoát?" ,

"Đóng Form" , MessageBoxButtons YesNo, MessageBoxIcon Question);

Ngày đăng: 05/11/2019, 06:13

TỪ KHÓA LIÊN QUAN

w