Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng HƯỚNG DẪN THỰC HÀNH TUẦN 1 Lập trình ứng dụng WinForm với C# 1. Viết chương trình tính đạo hàm đơn thức: P(x) = ax n a. Tạo ứng dụng WinForm: Khởi động Microsoft Visual Studio 2005 Từ menu File chọn New\Project b. Thiết kế và lập trình: Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng c. Đăng ký và xử lý sự kiện cho Button “Thoát” Cửa sổ Properties, cho phép thay đổi các thuộc tính của control Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng Double click chuột trái vào sự kiện cần xử lý Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng d. Đăng ký và xử lý cho sự kiện Button tính đạo hàm: private void bTinh_Click(object sender, EventArgs e) { if (heso_p.Text.Trim().Equals("") || somu_p.Text.Trim().Equals("")) { MessageBox.Show("Chưa nhập dữ liệu đầy đủ.", "Thong bao loi", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } int a, b; //Chuyển đổi chuỗi thành số a = Int32.Parse(heso_p.Text.Trim()); b = Int32.Parse(somu_p.Text.Trim()); //Chuyển đổi số thành chuỗi heso_q.Text = Convert.ToString(a * b); somu_q.Text = Convert.ToString(b - 1); } e. Chú ý xử lý các trường hợp ngoại lệ (dữ liệu nhập không hợp lệ) i. Trong trường hợp này sẽ phát sinh lỗi và dừng chương trình nếu người dùng nhập giá trị không hợp lệ (cụ thể dữ liệu nhập không phải là số) ii. Khi đó phương thức Int32.Parse(…) sẽ phát sinh ngoại lệ Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng iii. Để xử lý ngoại lệ trong C#, chúng ta dùng khối try { }catch( ) private void bTinh_Click(object sender, EventArgs e) { if (heso_p.Text.Trim().Equals("") || somu_p.Text.Trim().Equals("")) { MessageBox.Show("Chưa nhập dữ liệu đầy đủ.", "Thong bao loi", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } int a=0, b=0; try { //Chuyển đổi chuỗi thành số a = Int32.Parse(heso_p.Text.Trim()); b = Int32.Parse(somu_p.Text.Trim()); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Loi dinh dang so", MessageBoxButtons.OK, MessageBoxIcon.Stop); } //Chuyển đổi số thành chuỗi heso_q.Text = Convert.ToString(a * b); somu_q.Text = Convert.ToString(b - 1); } iv. Để ngăn chặn khả năng phát sinh lỗi ??? Không cho phép nhập các ký tự không phải là ký tự số vào textbox Giải pháp ??? Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng Xử lý sự kiện nhấp phím (KeyPress) private void heso_p_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar < '0' || e.KeyChar >= '9')) e.Handled = true; } // Chú ý xử lý trường hợp khi nhấn các phím xóa, di chuyển f. Sinh viên tự phát triển tiếp để hoàn thiện chương trình trên . dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng HƯỚNG DẪN THỰC HÀNH TUẦN 1 Lập trình ứng dụng WinForm với C# 1. Viết chương trình tính đạo hàm đơn thức: P(x) = ax n a. Tạo ứng dụng WinForm: . dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng c. Đăng ký và xử lý sự kiện cho Button “Thoát” Cửa sổ Properties, cho phép thay đổi các thuộc tính của control Xây dựng phần mềm hướng. phương thức Int32.Parse(…) sẽ phát sinh ngoại lệ Xây dựng phần mềm hướng đối tượng GVHD: Trần Anh Dũng iii. Để xử lý ngoại lệ trong C#, chúng ta dùng khối try { }catch( ) private void bTinh_Click(object