Bài giảng Kỹ thuật lập trình - Chương 3: Windows Form
Khái niệm và ứng dụng của Windows Form?
Môi trường thiết kế và xử lý sự kiện của Form
Các control phổ biến trong Form:
Label
Textbox
Button
Checkbox
RadioButton
Picturebox
DatetimePicker
Listbox
Combobox
RichTextbox
Timer
ListView
TreeView
Dialog hệ thống
Cách tạo control và gán sự kiện lúc Runtime
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật lập trình - Chương 3: Windows Form", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kỹ thuật lập trình - Chương 3: Windows Form
Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Chương 3 Windows Form Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Nội dung Khái niệm và ứng dụng của Windows Form? Môi trường thiết kế và xử lý sự kiện của Form Các control phổ biến trong Form: Label Textbox Button Checkbox RadioButton Picturebox DatetimePicker Listbox Combobox RichTextbox Timer ListView TreeView Dialog hệ thống Cách tạo control và gán sự kiện lúc Runtime Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khái niệm Windows Form Windows Form là một môi trường giao diện đồ họa giúp việc tương tác giữa người dùng với chương trình diễn ra một cách thuận tiện và linh hoạt. Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Các ứng dụng của Windows Form Tạo những ứng dụng với giao diện đồ hoạ giao tiếp với người dùng Hiển thị thông tin Nhận thông tin nhập từ người dùng Phản ứng với những hoạt động của người dùng (nhấn chuột, gõ phím) Kết nối qua mạng Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Các ứng dụng của Windows Form Phần mềm văn phòng Microsoft Office Phần mềm quản lý dự án MS Project Phần mềm lập trình Visual Studio Các loại phần mềm tương tác khác Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Môi trường thiết kế Đe tạo ứng dụng Windows Form trong Visual Studio, chúng ta vào menu FILE, chọn New Project, chọn Template là Windows Forms Application. Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Môi trường thiết kế Toolbox: Chứa các control trong .NET framework được chia thành nhie u nhóm theo chức năng (kéo thả trực tiếp control vào Form). Form Design: pha n thie t ke form, ở chıńh giữa màn hıǹh. Cũng là không gian để lập trình sự kiện (double click vào Form) Properties: Cho phép thay đo i ca u hıǹh các thuộc tıńh của control cũng như tạo sự kiện cho control đó. Solution Explorer: giúp theo dõi và quản lý các thành pha n trong solution như các projects, các lớp đo i tượng, các form Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Môi trường thiết kế Trong C#, màn hình tương tác giữa người dùng và phần mềm được gọi là Form(còn gọi là một cửa so chương trı̀nh, chứa các control khác bên trong): Thiết lập thuộc tính Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Môi trường thiết kế Các thuộc tính quan trọng của Form: Thuộc tính Mô tả Name Tên form, thường ba t đa u ba ng frm Text Tiêu đe form BackColor Màu ne n form ForeColor Màu chữ trên form Font Định dạng chữ trên form StartPosition Điṇh vị trı́ form khi mới xua t hiện (giữa màn hıǹh hoặc tự khai báo) WindowState Điṇh trạng thái form khi mới xua t hiện (Normal, Minimized, Maximined) AcceptButton Chọn nút ba m được thực hiện khi nha n Enter CancelButton Chọn nút ba m được thực hiện khi nha n Escape Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Môi trường thiết kế Các sự kiện quan trọng của Form: Sự kiện Mô tả Click Thực hiện lệnh khi nhấn chuột DoubleClick Thực hiện lệnh khi nhấn chuột 2 lần liên tiếp Load Thực hiện lệnh khi cửa sổ được mở lên lần đầu tiên FormClosing Thực hiện lệnh trước khi cửa sổ được đóng Thiết lập sự kiện Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Các control phổ biến Control có thể hiểu là những thành phần được sắp xếp trên Form. Nó cho phép hiển thị dữ liệu đồng thời giúp người sử dụng có thể tương tác với hệ thống phần mềm. Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Các control phổ biến Label Textbox Button Checkbox RadioButton Picturebox DateTimePicker Listbox Combobox RichTextbox Timer ListView TreeView Dialog hệ thống Dialog hệ thống: MessageBox, FontDialog, ColorDialog, OpenFileDialog, SaveFileDialog, FolderBrowserDialog. Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Label Label là control dùng đe the hiện một chuo i hoặc văn bản trên form. Thuộc tính Mô tả Name Tên label, thường ba t đa u ba ng lbl Text Chuo i văn bản được hie n thị BackColor Màu ne n ForeColor Màu chữ Font Định dạng chữ Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Textbox TextBox được dùng đe làm nơi cho người dùng nhập thông tin vào chương trı̀nh Thuộc tính Mô tả Name Tên textbox, thường ba t đa u ba ng txt Text Chuo i văn bản được hie n thị Enabled Xác định textbox có hoạt động (true) hay không (false) Multiline Ne u đặt là true thı̀ nội dung trong textbox được vie t thành nhie u dòng AcceptsReturn Ne u đặt là true thı̀ nội dung trong multiline textbox cha p nhận da u xuo ng hàng ("\r\n") PasswordChar Khai báo ký tự thay the khi nhập password (vı́ dụ '*') ReadOnly Ne u đặt là true, textbox chı̉ được phép đọc, không được phép chı̉nh sửa nội dung Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Button Button là nút ba m trên form, thường được dùng như một hiệu lệnh ba t đa u thực hiện một công việc nào đó Thuộc tính Mô tả Name Tên button, thường ba t đa u ba ng btn Text Tiêu đe button trên form BackColor Màu ne n ForeColor Màu chữ Font Định dạng chữ Trong màn hıǹh thie t ke , nha n double click vào Button sẽ tạo ra phương thức xử lý sự kiện mặc điṇh của Button là Click. Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Button lblHoTen txtHo txtTen btnHoTen btnHo Demo chương trình: Nhấn vào Button btnHo thì gán nội dung của txtHo cho lblHoTen Nhấn vào Button btnTen thì gán nội dung của txtTen cho lblHoTen Nhấn vào Button btnHoTen thì gán nội dung của txtHo cộng với txtTen cho lblHoTen Hướng dẫn: lblHoTen.Text = txtHo.Text + “ “ + txtTen.Text Nhấn Double click vào lblHoTen thì nội dung của lblHoTen bị xoá Nhấn vào btnKetThuc thi đóng chương trình btnKetThuc Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Checkbox và RadioButton Checkbox cho phép trên giao diện người sử dụng có thể chọn nhiều lựa chọn. RadioButton cho phép trên giao diện người sử dụng chỉ được chọn 1 lựa chọn. Phải kết hợp với GroupBox để nhóm các RadioButton (bắt buộc) Thuộc tính Mô tả Name Tên control, thường ba t đa u ba ng chk (CheckBox) và rad, rbtn (RadioButton) Text Tiêu đe control, thường na m bên phải control đó Checked Trạng thái control, true là đang được chọn. Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Checkbox và RadioButton radRed txtNhapTen chkBold lblLapTrinh btnThoat 1. khi Form load. a. Radiobutton Red được chọn mặc định b. Con trỏ xuất hiện ngay tại ô Nhập tên. 2. Khi gõ tên vào ô Nhập tên (gõ ký tự nào thì lable lập trình chạy song song cùng giá trị trong ô nhập tên) Demo chương trình: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Picturebox PictureBox dùng để hiển thị hình ảnh lên giao diện Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Picturebox Các thuộc tính quan trọng của PictureBox: Thuộc tính Mô tả Name Tên control, thường ba t đa u ba ng pic BackgroundImage Dùng để hiển thị hình ảnh BackgroundImageLayout Thiết lập kiểu xuất hiện hình ảnh Image Dùng để hiển thị hình ảnh SizeMode Tthiết lập kiểu xuất hiện hình ảnh Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Picturebox Demo chương trình Khi chương trình vừa thực thi. a. Form được hiển thị giữa màn hình b. Các đối tượng được “neo” sao cho khi người dùng thay đổi kích thước form thì các đối tượng được resize kích thước sao cho “dễ nhìn” c. picTurnOn được hiển thị, picTurnOff được ẩn ngay bên dưới picTurnOn. Khi người dùng đưa chuột vào picTurnOn sẽ xuất hiện tip “Click me to Turn OFF the Light!”, và ngược lại trên picTurnOFF. d. Hiện tên mặc định vào ô Name e. Lable ngay bên dưới pictureBox hiển thị thông báo “Jack. Turn Off the Light ,please!” Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật DatetimePicker DateTimePicker dùng để hiển thị ngày tháng năm Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật DatetimePicker Các thuộc tính quan trọng: Thuộc tính Mô tả Name Tên control, thường bắt đầu dtp Format Cách hiển thị ngày tháng có sẵn CustomFormat Hiển thị ngày tháng theo cách NSD Value Giá trị ngày tháng trên control Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Listbox ListBox tạo ra một danh sách đe người dùng lựa chọn trên form. ListBox có sự kiện mặc định là SelectedIndexChanged và có một so thuộc tı́nh sau: Thuộc tính Mô tả Name Tên listbox, thường ba t đa u ba ng lst SelectionMode Cách lựa chọn trong danh sách (chı̉ được chọn một hoặc cho phép chọn nhie u) Items Các lựa chọn trong listbox SelectedIndex Trả ve chı̉ so của item được chọn SelectedIndices Trả ve tập hợp các chı̉ so của các items được chọn trong listbox SelectedItem Trả ve item được chọn SelectedItems Trả ve tập hợp items được chọn Items.Count Trả về số lượng phần tử trong Listbox Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Listbox Phương thức Mô tả Add Thêm một phần tử vào listbox AddRange Thêm nhiều phần tử vào listbox Remove Xóa một phần tử khỏi listbox RemoveAt Xóa một phần tử theo vị trí khỏi listbox Clear Xóa toàn bộ phần tử trong listbox Insert Chèn một phần tử vào listbox OfType Lọc ra các phần tử có cùng kiểu dữ liệu Các phương thức quan trọng của lstABC.Items.MethodXYZ() Với lstABC là tên của Listbox nào đó, và MethodXYZ được liệt kê dưới đây: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Listbox Demo chương trình Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Combobox ComboBox cũng cung ca p một danh sách các lựa chọn như listbox nhưng khác ve cách hie n thị và không ho trợ chọn nhie u item. Thuộc tính Mô tả Name Tên combo box, thường ba t đa u ba ng cbo Items Các lựa chọn trong combo box SelectedIndex Trả ve chı ̉so của item được chọn SelectedItem Trả ve item được chọn Items.Count Trả về số lượng phần tử trong combobox Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Combobox Phương thức Mô tả Add Thêm một phần tử vào Combobox AddRange Thêm nhiều phần tử vào Combobox Remove Xóa một phần tử khỏi Combobox RemoveAt Xóa một phần tử theo vị trí khỏi Combobox Clear Xóa toàn bộ phần tử trong Combobox Insert Chèn một phần tử vào Combobox OfType Lọc ra các phần tử có cùng kiểu dữ liệu Các phương thức quan trọng của cboABC.Items.MethodXYZ() Với cboABC là tên của Combobox nào đó, và MethodXYZ được liệt kê dưới đây: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Combobox Demo chương trình Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật RichTextbox RichTextBox dùng để hiển thị dữ liệu theo nhiều dòng. Có thể định dạng được dữ liệu trong control này (màu chữ, cơ chữ, font chữ). Đặt tên bắt đầu với rtb rtbData.SelectionFont = new Font (rtbData.SelectionFont.Name, rtbData.SelectionFont.Size, rtbData.SelectionFont.Style ^ FontStyle.Bold); Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Giới thiệu thêm một số Control nâng cao (Chi tiết về các control này sẽ được demo trực tiếp trên lớp lý thuyết Sinh viên cần biết để áp dụng làm đồ án môn học) Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật ListView ListView là control dùng để hiển thị thông tin theo dạng lưới (dòng và cột), thường đặt tên bắt đầu lv Dưới đây là 3 dạng ListView thường gặp nhất trong các ứng dụng: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật TreeView TreeView là control dùng để hiển thị thông tin theo dạng cây thư mục, thường đặt tên bắt đầu tv Thường ListView được kết hợp với TreeView trong ứng dụng: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật MessageBox MessageBox là một cửa sổ có sẵn của C#, cho phép người sử dụng tương tác với hệ thống phần mềm thông qua các lựa chọn được cung cấp bởi MessageBox: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật MessageBox MessageBox.Show("Hello Tèo 113"); MessageBox.Show("Hello Tèo 113","Title"); MessageBox.Show("Hello Tèo 113","Title", MessageBoxButtons.YesNoCancel); MessageBox.Show("Hello Tèo 113","Title", MessageBoxButtons.OK, MessageBoxIcon.Question); Một số kiểu hiển thị MessageBox thường gặp: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật MessageBox Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật FontDialog FontDialog là cửa sổ có sẵn của C# dùng để cấu hình Font chữ cho các Control trên giao diện. Có thể kéo thả trực tiếp từ Toolbox hoặc tạo trong coding Phương thức ShowDialog dùng để hiển thị cửa sổ Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật ColorDialog ColorDialog là cửa sổ có sẵn của C# dùng để cấu hình màu chữ, màu nền cho các Control trên giao diện. Có thể kéo thả trực tiếp từ Toolbox hoặc tạo trong coding Phương thức ShowDialog dùng để hiển thị cửa sổ Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật OpenFileDialog OpenFileDialog là cửa sổ có sẵn của C# dùng để mở tập tin từ ổ cứng lên phần mềm. Có thể kéo thả trực tiếp từ Toolbox hoặc tạo trong coding Phương thức ShowDialog dùng để hiển thị cửa sổ Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật SaveFileDialog SaveFileDialog là cửa sổ có sẵn của C# dùng để lưu tập tin từ phần mềm xuống ổ cứng Có thể kéo thả trực tiếp từ Toolbox hoặc tạo trong coding Phương thức ShowDialog dùng để hiển thị cửa sổ Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật FolderBrowserDialog FolderBrowserDialog là cửa sổ có sẵn của C# dùng để truy suất/ quản lý cây thư mục trong hệ thống máy tính Có thể kéo thả trực tiếp từ Toolbox hoặc tạo trong coding Phương thức ShowDialog dùng để hiển thị cửa sổ Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Component Timer Timer là một component cho phép phần mềm xử lý công việc theo định giờ (hay chu kỳ) nào đó. Ví dụ: Cứ 5 phút tự động gửi email một lần, cứ 1 giây thay đổi vị trí tương đối của cửa sổ trên màn hình desktop một lần. Thuộc tính Interval: khoảng thời gian thực hiện công việc (tính bằng mili giây = 1/1000 giây) Sự kiện Tick – xảy ra khi khoảng thời gian bắt đầu Phương thức Start – Kích hoạt timer Stop – ngừng timer Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Cách tạo control và gán sự kiện lúc Runtime Trong thực tế viết dự án phần mềm, không phải lúc nào cũng kéo thả control vào giao diện được. Mà trong quá trình thao tác phần mềm thì các control này mới xuất hiện. Ví dụ: Viết phần mềm quản lý bán hàng cho một quán Cà Phê (Mỗi quán có số lượng bàn khác nhau, ta không thể kéo thả các control trực tiếp vào giao diện được mà các bàn này phải tự động được vẽ lên giao diện tùy thuộc vào số lượng bàn của mỗi quán). Để làm được điều này ta sẽ dùng các container (Panel, FlowLayoutPanel) để vẽ các control lúc Runtime Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Cách tạo control và gán sự kiện lúc Runtime Demo chương trình pnButton AutoScroll=true lblMessage txtNumberControl btnAddButton Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Cách tạo control và gán sự kiện lúc Runtime private void btnAddButton_Click(object sender, EventArgs e) { pnButton.Controls.Clear(); for (int i = 0; i < Int32.Parse(txtNumberControl.Text); i++) {Button btnRuntime = new Button(); btnRuntime.BackColor = Color.Red; btnRuntime.Location = new System.Drawing.Point (pnButton.Width/2-btnRuntime.Width/2, i * btnRuntime.Height); btnRuntime.Text = "a_" + i; btnRuntime.Tag = i; btnRuntime.Click += btnRuntime_click; pnButton.Controls.Add(btnRuntime);} } private void btnRuntime_click(object sender, EventArgs e) { Button btn = (Button)sender; lblMessage.Text = "Button : "+btn.Text +" was clicked"; } Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Cách sắp xếp control tiện lợi Hiệu chỉnh TabIndex sao cho hợp lý (Tham khảo hình vào Menu View\Tab Order): Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật END
File đính kèm:
- bai_giang_ky_thuat_lap_trinh_chuong_3_windows_form.pdf