Bài giảng Cơ sở Lập trình - Chương 4: Lập trình giao diện trong Windows

pptx 51 trang huongle 3670
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở Lập trình - Chương 4: Lập trình giao diện trong Windows", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_co_so_lap_trinh_chuong_4_lap_trinh_giao_dien_trong.pptx

Nội dung text: Bài giảng Cơ sở Lập trình - Chương 4: Lập trình giao diện trong Windows

  1. Chương 4 LẬP TRÌNH GIAO DIỆN TRONG WINDOWS
  2. Nội dung 1 Giới thiệu về lập trình giao diện trong Windows 2 Làm việc với Windows form và các điều khiển 3 Các hộp thoại thông dụng 4 Thực đơn và ứng dụng nhiều biểu mẫu 15/06/2021 Chương 4. Lập trình giao diện trong Windows 2/51
  3. 1. Lập trình giao diện trong Windows .NET cung cấp WinForm và các điều khiển khác qua lớp cơ sở trong namespace System.Windows.Forms Để thiết kế Windows Application ◼ Tạo một Windows Application trong Visual Studio.Net và thêm System.Windows.Forms và System.Drawing ◼ Tạo một lớp mới để biểu diễn WinForm và dẫn xuất từ System.Windows.Forms.Form ◼ Khởi tạo các điều khiển khác nhau, thiết lập các thuộc tính và thêm tập hợp các điều khiển 15/06/2021 Chương 4. Lập trình giao diện trong Windows 3/51
  4. Tạo ứng dụng Windows Form 15/06/2021 Chương 4. Lập trình giao diện trong Windows 4/51
  5. Windows Form Form Designer ◼ Thiết kế giao diện đồ họa người sử dụng các điều khiển (control) từ hộp công cụ (Toolbox) Properties window ◼ Thiết lập thuộc tính Solution Explorer ◼ Solution: là tập tất cả các project ◼ Reference: chứa các file assemblies ◼ AssemblyInfo.cs: chứa thông tin assembly hiện tại ◼ Form.cs: chứa file nguồn 15/06/2021 Chương 4. Lập trình giao diện trong Windows 5/51
  6. 15/06/2021 Chương 4. Lập trình giao diện trong Windows 6/51
  7. 2. Windows form và các điều khiển Điều khiển (control) là các thành phần cơ bản trên form Có các thành phần ◼ Thuộc tính (property) Mô tả đối tượng: tên, chiều cao, Có thể xác định khi thiết kế (Design) hoặc thi hành (Runtime) ◼ Phương thức (method) Cách thức để thực hiện một công việc nào đó ◼ Sự kiện (event) Phản ứng của đối tượng dựa trên sự kiện xảy ra 15/06/2021 Chương 4. Lập trình giao diện trong Windows 7/51
  8. Xử lý sự kiện Các phương thức xử lý sự kiện của các điều khiển thường gồm 2 tham số: sender và e ◼ sender có kiểu object: đại diện cho đối tượng phát sinh sự kiện ◼ e có kiểu EventArgs: chứa các thông tin về sự kiện: vị trí chuột, thời gian phát sinh sự kiện ◼ Ví dụ: private void btnDisplay_Click(object sender, EventArgs e) { txtWelcome.Text = "Welcome to Visual C# 2010"; } 15/06/2021 Chương 4. Lập trình giao diện trong Windows 8/51
  9. Hộp thông báo - MessageBox MessageBox.Show(Nội dung thông báo, Tiêu đề, Kiểu chức năng, Kiểu biểu tượng); Nội dung thông báo được đặt trong nháy kép MessageBox.Show( "Bạn chưa nhập dữ liệu", "Thông báo", MessageBoxButtons .OK, MessageBoxIcon.Inf ormation); 15/06/2021 Chương 4. Lập trình giao diện trong Windows 9/51
  10. Hộp thông báo Phương thức MessageBox.Show trả về giá trị của các nút mà người dùng nhấn Các giá trị ◼ System.Windows.Forms.DialogResult.OK ◼ System.Windows.Forms.DialogResult.Cancel ◼ System.Windows.Forms.DialogResult.Abort ◼ System.Windows.Forms.DialogResult.Retry ◼ System.Windows.Forms.DialogResult.Ignore ◼ System.Windows.Forms.DialogResult.Yes ◼ System.Windows.Forms.DialogResult.No Ví dụ: Yêu cầu chỉ thoát khi người dùng muốn private void bttThoat_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn có muốn thoát khỏi chương trình không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) Application.Exit(); //Thoát chương trình } 15/06/2021 Chương 4. Lập trình giao diện trong Windows 10/51
  11. Các điều khiển Điều khiển thông thường : ◼ Label , TextBox , Combobox , ListBox , CheckBox, RadioButton , Button Điều khiển đặc biệt : ◼ Tooltip , HelpProvider , ErrorProvider , ProgressBar , ListView , TreeView , DateTimePicker , MonthlyCalender Điều khiển Menu Điều khiển container : ◼ GroupBox , TabControl , Panel v.v . 15/06/2021 Chương 4. Lập trình giao diện trong Windows 11/51
  12. Form Các thuộc tính Thuộc tính Mô tả Name Tên form, bắt đầu bằng frm IsMdiContainer Trạng thái SDI, MDI BackColor Màu nền BackgroundImage Hình nền trên form AcceptButton Nút xử lý mặc định – phím Enter CancelButton Nút xử lý mặc định – Phím Esc FormBorderStyle Đường viền cho form Enabled True/False: cho phép/không cho phép tác động Font Font chữ cho các điều khiển trên form ForeColor Màu cho các điều khiển trên form Icon Icon cho form 15/06/2021 Chương 4. Lập trình giao diện trong Windows 12/51
  13. Form Các thuộc tính Thuộc tính Mô tả MainMenuStrip Menu chính ContextMenu Menu ngữ cảnh Opacity Độ trong suốt (0%-100%) StartPosition Vị trí xuất hiện Text Tiêu đề cho form WindowState Trạng thái của form khi chạy chương trình: Normal, Maximized, Minimized) ShowInTaskbar Hiển thị trên Taskbar MaximizeBox True/False: Có/không hiển thị nút phóng lớn MinimizeBox True/False: Có/không hiển thị nút thu nhỏ 15/06/2021 Chương 4. Lập trình giao diện trong Windows 13/51
  14. Form Các sự kiện ◼ Nhấn để hiển thị danh sách các sự kiện ◼ Nháy đúp chuột vào tên sự kiện để vào cửa sổ viết mã lệnh Sự kiện Mô tả Load Khi form được nạp vào bộ nhớ, thường dùng khởi tạo giá trị và trạng thái cho các biến, điều khiển trên form Click Người dùng nhấn chuột FormClosed Khi người dùng nhấn nút Close x FormClosing Khi người dùng nhấn nút close x (trước sự kiện FormClosed) 15/06/2021 Chương 4. Lập trình giao diện trong Windows 14/51
  15. Form Các phương thức Phương thức Mô tả Close Đóng form Hide Ẩn form Show Hiển thị form chế độ thông thường (modeless) ShowDialog Hiển thị form như hộp thoại (model) 15/06/2021 Chương 4. Lập trình giao diện trong Windows 15/51
  16. Textbox Thuộc tính Thuộc tính Mô tả Name Tên, bắt đầu bằng txt BackColor Màu nền Enabled True/False: bật/tắt textbox Font Font chữ ForeColor Màu chữ Locked True/false: khoá/không khoá MaxLength Chiều dài tối đa (0-32767) Multiline True: cho phép nhiều dòng PasswordChar Hiển thị kí tự này thay cho kí tự nhập vào ReadOnly Chỉ đọc 15/06/2021 Chương 4. Lập trình giao diện trong Windows 16/51
  17. Textbox Thuộc tính Thuộc tính Mô tả ScrollBars Thanh cuốn ngang, dọc (có hiệu lực khi Multiline = true, thanh cuốn ngang có hiệu lực khi WordWrap=False) TabIndex Thứ tự truy cập của hộp văn bản khi người dùng bấm phím Tab, thứ tự đầu tiên là 0. Text Chứa nội dung của hộp văn bản. TextAlign Căn lề Visible True/False: ẩn/hiện WordWrap WordWrap = True: dòng văn bản được tự động cuộn xuống dòng khi gặp lề bên phải của hộp TextBox, ngược lại thì nhận giá trị False. Chỉ có hiệu lực khi Multiline = True. 15/06/2021 Chương 4. Lập trình giao diện trong Windows 17/51
  18. Textbox Sự kiện Sự kiện Mô tả TextChanged Có sự thay đổi trong hộp văn bản Click Nháy chuột DoubleClick Nháy đúp chuột GotFocus Khi chuyển tiêu điểm tới hộp văn bản. KeyPress Trả về ký tự (trừ các ký tự đặc biệt như phím Delete, Home, Ctrl, F1 ) mà người sử dụng gõ vào hộp văn bản thông qua thuộc tính KeyChar. KeyDown Trả về mã ASCII của tất cả các ký tự mà người sử dụng gõ vào hộp văn bản thông qua thuộc tính KeyCode. LostFocus Được kích hoạt khi hộp văn bản mất tiêu điểm. MouseMove Di chuyển qua hộp văn bản MouseLeave Di chuyển ra khỏi hộp văn bản 15/06/2021 Chương 4. Lập trình giao diện trong Windows 18/51
  19. Textbox Phương thức Phương thức Mô tả AppendText Cộng dồn chuỗi Clear Xoá nội dung trên Textbox Copy Sao chép Cut Cắt Paste Dán Undo Quay về trạng thái cũ GetCharIndexFromPosition Lấy kí tự tại vị trí Select Chọn 15/06/2021 Chương 4. Lập trình giao diện trong Windows 19/51
  20. Textbox 15/06/2021 Chương 4. Lập trình giao diện trong Windows 20/51
  21. Textbox – Ví dụ ◼ Hiển thị mã ASCII của kí tự bất kì nhập vào Textbox1 private void textBox1_KeyDown(object sender, KeyEventArgs e) { int a; a = Convert.ToInt32(e.KeyCode); MessageBox.Show(a.ToString()); } ◼ Chỉ cho phép nhập số 0-9, dấu -, chấm ., phím del (mã ASCII 13) và backspace (mã ASCII 8) private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (((e.KeyChar >= '0') && (e.KeyChar <= '9')) || (e.KeyChar == '-') || (e.KeyChar == '.') || (Convert.ToInt32(e.KeyChar) == 8) || (Convert.ToInt32(e.KeyChar) == 13)) e.Handled = false; else e.Handled = true; } 15/06/2021 Chương 4. Lập trình giao diện trong Windows 21/51
  22. MaskedTextbox 15/06/2021 Chương 4. Lập trình giao diện trong Windows 22/51
  23. Label - nhãn Label : ◼ Trình bày, chú giải tiêu đề ◼ Có hai loại Label và LinkLabel ◼ Name: bắt đầu bằng lbl 15/06/2021 Chương 4. Lập trình giao diện trong Windows 23/51
  24. Button – nút nhấn Dùng chuột nhấn để thao tác Có thể show Icon trên button 15/06/2021 Chương 4. Lập trình giao diện trong Windows 24/51
  25. Button Thuộc tính Thuộc tính Mô tả Name Tên, bắt đầu bằng btn BackColor Màu nền BackgroundImage Ảnh nền Enabled True/False: bật/tắt nút lệnh Font Font chữ ForeColor Màu chữ Image Ảnh trên nút Locked True/False: khoá/không khoá dịch chuyển vị trí nút TabIndex Thứ tự truy cập (khi nhấn Tab) Text Tiêu đề nút (Thêm dấu & trước kí tự đặt phím nóng) Visible True/False: Hiện/Ẩn nút lệnh 15/06/2021 Chương 4. Lập trình giao diện trong Windows 25/51
  26. Button Sự kiện Sự kiện Mô tả Click Nhấn nút GotFocus Chuyển tiêu điểm tới nút LostFocus Mất tiêu điểm MouseDown Đặt chuột vào nút MouseUp Đưa chuột ra khỏi nút MouseMove Di chuyển chuột trên nút MouseLeave Dời chuyển ra khỏi nút 15/06/2021 Chương 4. Lập trình giao diện trong Windows 26/51
  27. GroupBox - nhóm Chứa các điều khiển khác, tạo thành các vùng làm việc độc lập trên form Thuộc tính Mô tả Name Tên nhóm, bắt đầu bằng grb BackColor Thiết lập mầu nền cho nhóm, nếu BackColor = Transparent thì nhóm sẽ có mầu nền giống với mầu nền của Form. TabIndex Thứ tự truy cập của nhóm khi người dùng bấm phím Tab. Text Thiết lập tiêu đề của nhóm. Visible Visible = True: hiển thị nhóm, Visible = False: ẩn nhóm. 15/06/2021 Chương 4. Lập trình giao diện trong Windows 27/51
  28. Checkbox – Hộp đánh dấu Cho phép không chọn/chọn một/chọn nhiều khả năng Thuộc tính Mô tả Name Tên, bắt đầu bằng chk Checked True/false: checkbox đã được chọn/không được chọn CheckState Checked: được chọn Unchecked: không được chọn Indeterminate: chưa xác định 15/06/2021 Chương 4. Lập trình giao diện trong Windows 28/51
  29. Checkbox – Hộp đánh dấu Sự kiện Sư kiện Mô tả Click Nhấn chuột vào checkbox GotFocus Chuyển tiêu điểm vào checkbox LostFocus Mất tiêu điểm CheckedChanged Checkbox thay đổi trạng thái 15/06/2021 Chương 4. Lập trình giao diện trong Windows 29/51
  30. RadioButton – Nút tuỳ chọn Cho phép người dùng chọn một trong nhiều lựa chọn Thuộc tính Thuộc tính Mô tả Name Tên, bắt đầu bằng rdo Checked True/false: radiobutton đã được chọn/ không được chọn Enable True/False: bật/tắt nút tuỳ chọn Visible True/False: Hiện/Ẩn nút 15/06/2021 Chương 4. Lập trình giao diện trong Windows 30/51
  31. RadioButton – Nút tuỳ chọn Sự kiện Sư kiện Mô tả Click Nhấn chuột vào nút tuỳ chọn GotFocus Chuyển tiêu điểm vào nút tuỳ chọn LostFocus Mất tiêu điểm CheckedChanged Nút tuỳ chọn thay đổi trạng thái Chú ý ◼ RadioButton kết hợp với GroupBox 15/06/2021 Chương 4. Lập trình giao diện trong Windows 31/51
  32. Listbox – Hộp danh sách Cung cấp danh sách cho phép lựa chọn Hiển thị thanh cuộn nếu vượt quá vùng thể hiện Sự kiện: Sự kiện Mô tả Click Nháy chuột vào danh sách DoubleClick Nháy đúp chuột GotFocus Chuyển tiêu điểm tới LostFocus Mất tiêu điểm SelectedIndexChanged Thay đổi trạng thái lựa chọn các dòng dữ liệu trong listbox 15/06/2021 Chương 4. Lập trình giao diện trong Windows 32/51
  33. Listbox – Hộp danh sách Thuộc tính Mô tả Name Tên hộp ListBox, bắt đầu bằng lst DataSource Nguồn dữ liệu cho ListBox MultiColumn True/False: Nhiều cột ColumnWidth Độ rộng cho mỗi cột trong ListBox. Items Danh sách khởi tạo các phần tử SelectedIndex Trả về số thứ tự của phần tử đang được chọn trong danh sách, phần tử đầu tiên có SelectedIndex = 0, nếu không có phần tử nào được chọn thì SelectedIndex = -1 SelectionMode Chế độ lựa chọn các phần tử trong hộp danh sách khi thực thi chương trình. None,One,MultiSimple (lựa chọn nhiều phần tử riêng biệt), MultiExtended (chọn một khối các phần từ liền nhau) SelectedItems Trả về tập các phần tử đang được chọn. Sorted True/False:sắp xếp hay không 15/06/2021 Chương 4. Lập trình giao diện trong Windows 33/51
  34. Listbox – Hộp danh sách Phương thức ◼ ListName.Items.Add(Item); //thêm phần tử ◼ ListName.Items.Remove(Item); //xoá phần tử ◼ ListName.Items.RemoveAt(Index); //xoá tại chỉ số index ◼ ListName.Items.Clear(); //xoá danh sách Ví dụ: lstQue.Items.Add(“Ha Noi”); 15/06/2021 Chương 4. Lập trình giao diện trong Windows 34/51
  35. ComboBox – Hộp lựa chọn Cho phép lựa chọn một mục dữ liệu trong hộp danh sách thả xuống Thuộc tính Mô tả Name Tên hộp ComboBox, bắt đầu bằng cbo DataSource Nguồn dữ liệu cho ComboBox DropDownStyle Các kiểu. DropDown: cho phép chọn và nhập dữ liệu, Simple: Hiển thị toàn bộ danh sách các mục, cho phép nhập. DropDownList: Chỉ cho phép lựa chọn các phần tử trong hộp thả xuống Items Khởi tạo các giá trị khi thiết kế SelectedIndex Số thứ tự các phần tử đang được chọn 15/06/2021 Chương 4. Lập trình giao diện trong Windows 35/51
  36. ComboBox – Hộp lựa chọn Sự kiện Sự kiện Mô tả Click Nháy chuột vào danh sách DoubleClick Nháy đúp chuột GotFocus Chuyển tiêu điểm tới LostFocus Mất tiêu điểm SelectedIndexChanged Thay đổi trạng thái lựa chọn các dòng dữ liệu trong ComboBox TextChanged Có sự thay đổi văn bản của ComboBox DropDown Chỉ xảy ra đối với hộp Combo DropDown và DropDownList, sự kiện này được gọi ngay sau khi người dùng nhấp mũi tên để thả hộp danh sách xuống (phím tắt Alt+), sự kiện này chủ yếu được sử dụng để nhập dữ liệu cho các phần tử của hộp Combo. 15/06/2021 Chương 4. Lập trình giao diện trong Windows 36/51
  37. ComboBox – Hộp lựa chọn Phương thức ◼ ComboName.Items.Add(Item); //Thêm ◼ ComboName.Items.Remove(Item); //xoá ◼ ComboName.Items.RemoveAt(Index); //xoá tại vị trí index ◼ ComboName.Items.Clear(); //xoá tất cả Ví dụ: nhập dữ liệu cho hộp cboQue private void cboQue_DropDown(object sender, EventArgs e) { cboQue.Items.Clear(); cboQue.Items.Add("Hà Nội"); cboQue.Items.Add("Nam Định"); cboQue.Items.Add("Đà Lạt"); } 15/06/2021 Chương 4. Lập trình giao diện trong Windows 37/51
  38. CheckedListBox Gần giống như ListBox, có thêm checkbox ở đầu dòng Đặt tên bắt đầu bằng clb Có thuộc tính, sự kiện tương tự như ListBox Bổ sung thêm ◼ Thuộc tính: CheckedItems: tập các phần tử được check ◼ Sự kiện: ItemCheck: người dùng nháy đúp chuột 15/06/2021 Chương 4. Lập trình giao diện trong Windows 38/51
  39. NumericUpDown Lựa chọn một giá trị số trong một khoảng giá trị với bước nhảy xác định Thuộc tính Mô tả Name Tên, bắt đầu bởi tiếp đầu ngữ nud Increment Bước nhảy Maximum Cận trên Minimum Cận dưới Value Giá trị hiện tại Sự kiện Mô tả ValueChanged Thay đổi giá trị của điều khiển 15/06/2021 Chương 4. Lập trình giao diện trong Windows 39/51
  40. Thanh cuộn HScrollBar và VScrollBar Thanh cuộn ngang: HScrollBar và thanh cuộn dọc VScrollBar Thuộc tính Mô tả Name Tên thanh cuộn, bắt đầu bởi hsb và vsb. Minimum Giá trị nhỏ nhất Maximum Giá trị lớn nhất Value Giá trị LargeChange Mức độ thay đổi giá trị khi cuộn chuột SmallChange Mức độ thay đổi khi nhấn nút mũi tên trên thanh cuộn (mặc định 1) Sự kiện Mô tả ValueChanged Thay đổi giá trị của điều khiển Scroll Cuộn thanh 15/06/2021 Chương 4. Lập trình giao diện trong Windows 40/51
  41. Tooltip – dòng chú thích Tooltip ◼ Điều khiển Tooltip hiển thị thông tin chú thich khi đưa chuột qua 15/06/2021 Chương 4. Lập trình giao diện trong Windows 41/51
  42. Timer – Bộ đếm thời gian Cho thực thi hành động sau khoảng thời gian Thuộc tính Mô tả Name Tên điều khiển Timer, bắt đầu bởi tmr Interval = n là chu kỳ thực hiện sự kiện Tick của điều khiển Timer. n là số nguyên, được tính bằng mili giây và có giá trị >0 Enabled True/False: cho phép/không cho phép hoạt động Sự kiện Mô tả Tick Kích hoạt sau mỗi chu kỳ Interval Phương thức ◼ Start: kích hoạt (tương tự Enable = True) ◼ Stop: dừng (tương tự Enable = False) 15/06/2021 Chương 4. Lập trình giao diện trong Windows 42/51
  43. RichTextBox Cho phép tạo/hiển thị các tập văn bản Rich Text (*.rtf) ◼ Name: bắt đầu bằng rtb Phương thức: ◼ LoadFile: nạp nội dung ◼ SaveFile: lưu file 15/06/2021 Chương 4. Lập trình giao diện trong Windows 43/51
  44. DateTimePicker Cho phép chọn thời gian dưới dạng lịch Thuộc tính Mô tả Name Tên điều khiển DateTimePicker, bắt đầu bởi dtp Format Định dạng kiểu hiển thị của thời gian, Ngày tháng thường chọn giá trị Short Values Gá trị hiện thời 15/06/2021 Chương 4. Lập trình giao diện trong Windows 44/51
  45. Windows Media Player Cho phép nghe nhạc/xem film (tương tự Windows Media Player của Windows) ◼ Đưa công cụ vào ToolBox: Nháy phải lên ToolBox, chọn Choose Items , trong mục COM Components chọn Windows Media Player ◼ Bổ sung dòng using WMPLib; //Để làm việc với các hàm của Windows Media Player 15/06/2021 Chương 4. Lập trình giao diện trong Windows 45/51
  46. Bài tập về nhà Bài 1. ◼ Giao diện: ◼ Yêu cầu: Tạo dòng ToolTip “Nhập số nguyên” cho 2 hộp văn bản ‘Nhập a’ và ‘Nhập b’. Chỉ cho phép người dùng nhập số vào hai hộp văn bản. Nút Tổng: kiểm tra người dùng phải nhập dữ liệu cho cả hai số a và b, tính tổng các số từ a đến b nếu a < b, hoặc tính tổng các số từ b đến a nếu b < a, rồi hiển thị kết quả vào nhãn ở phía dưới. Nút Làm lại: xóa các dữ liệu cũ ở các điều khiển, sau đó đặt con trỏ vào hộp văn bản Nhập a. Nút Thoát: thoát khỏi chương trình 15/06/2021 Chương 4. Lập trình giao diện trong Windows 46/51
  47. Bài tập về nhà Bài 2. ◼ Giao diện ◼ Yêu cầu: Nhập số nguyên dương n, tạo n số nguyên ngẫu nhiên có giá trị từ 1 tới 100 (sử dụng lớp ngẫu nhiên Random và phương thức Next(n,m) để sinh số ngẫu nhiên trong khoảng n đến m) 15/06/2021 Chương 4. Lập trình giao diện trong Windows 47/51
  48. Bài tập về nhà ◼ Yêu cầu Chỉ cho phép người dùng nhập số vào hộp văn bản Nhập n. Nút Nhập: kiểm tra người dùng phải nhập giá trị cho n, sau đó tạo n số ngẫu nhiên và hiển thị các số ngẫu nhiên đó ở nhãn Dẫy số. Nút Tính tổng: tính tổng n số ngẫu nhiên và hiển thị kết quả ở nhãn Tổng dẫy số. Nút Sắp xếp: sắp xếp n số ngẫu nhiên theo thứ tự tăng dần và hiển thị kết quả ở nhãn Sắp xếp. Nút Làm lại: xóa các dữ liệu cũ ở các điều khiển, sau đó đặt con trỏ vào hộp văn bản Nhập n. Nút Thoát: thoát khỏi chương trình 15/06/2021 Chương 4. Lập trình giao diện trong Windows 48/51
  49. Bài tập về nhà Bài 3. ◼ Giao diện ◼ Yêu cầu; Chỉ được phép nhập giá trị số cho Đơn giá và Số lượng, không cho phép nhập dữ liệu vào ô Tổng tiền. Nếu Giảm giá được chọn thì hiển thị 2 điều khiển giảm giá 5% và 10%, ngược lại không hiển thị 2 điều khiển này 15/06/2021 Chương 4. Lập trình giao diện trong Windows 49/51
  50. Bài tập về nhà Bài 4. ◼ Giao diện (Máy tính bỏ túi) ◼ Yêu cầu Người dùng nhấn các nút từ 0 đến 9 để nhập số Nhấn các nút + - * / để lựa chọn phép toán (khi nhấn xong các nút này thì xoá trắng hộp văn bản) Nút C để xoá trắng hộp văn bản Nút = để tính toán 15/06/2021 Chương 4. Lập trình giao diện trong Windows 50/51
  51. Bài tập về nhà Bài 5. Giải phương trình bậc 2 ◼ Giao diện ◼ Yêu cầu: Dùng điều khiển NumericUpDown để chọn giá trị cho a, b, c (trong [-100, 100]) Nút Giải PTBH để thực hiện giải 15/06/2021 Chương 4. Lập trình giao diện trong Windows 51/51