Khoa CNTT CNPM LẬP TRÌNH TRÊN WINFORM Phạm Hoàng Hải LTUDQL - 1 Khoa CNTT CNPM 1. NỘI DUNG ¨ Tổng quan về Control ¨ Các Control thông dụng • Form, Label, Text Box, Button • Check Box, Radio Button • Combo Box, Listbox, Listview, Treeview • Menu Strip, Tool Strip • Groupbox, Panel, Tab ¨ Các control nâng cao Control ¨ Hỏi đáp Phạm Hoàng Hải LTUDQL - 2 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL ¨ Control là một thành phần cơ bản trên form ¨ Có các thành phần • Thuộc tính • Phương thức • Sự kiện Thuộc tính Phương thức Sự kiện Phạm Hoàng Hải LTUDQL - 3 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL MỘT SỐ THUỘC TÍNH ¨ Text: nội dung caption, title… ¨ Focus: phương thức chuyển focus vào control ¨ TabIndex: thứ tự của control nhận focus • Mặc định được VS.NET thiết lập ¨ Enable: thiết lập trạng thái truy cập của control ¨ Visible: ẩn control trên form, có thể dùng phương thức Hide ¨ Anchor: • Neo giữ control ở vị trí xác định • Cho phép control di chuyển theo vị trí ¨ Size: xác nhận kích thước của control Phạm Hoàng Hải LTUDQL - 4 Khoa CNTT CNPM 2.
TỔNG QUAN VỀ CONTROL MỘT SỐ THUỘC TÍNH Common Description Properties BackColor Màu nền của control BackgroundImage Ảnh nền của control ForeColor Màu hiển thị text trên form Enabled Xác định khi control trạng thái enable Focused Xác định khi control nhận focus Font Font hiển thị text trên control TabIndex Thứ tự tab của control TabStop Nếu true, user có thể sử dụng tab để select control Text Text hiển thị trên form TextAlign Canh lề text trên control Visible Xác định hiển thị control Phạm Hoàng Hải LTUDQL - 5 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL LAYOUT - ANCHOR None Sizable FormBorderStyle Fixed3D FixedSingle Phạm Hoàng Hải LTUDQL - 6 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL LAYOUT - ANCHOR ¨ Khi FormBorderStyle = Sizable, form cho phép thay đổi kích thước khi Runtime • Sự bố trí của control cũng thay đổi! ¨ Sử dụng thuộc tính Anchor • Cho phép control phản ứng lại với thao tác resize của form § Control có thể thay đổi vị trí tương ứng với việc resize của form § Control cố định không thay đổi theo việc resize của form • Các trạng thái neo § Left: cố định theo biên trái § Right: cố định theo biên phải § Top: cố định theo biên trên § Bottom: cố định theo biên dưới Phạm Hoàng Hải LTUDQL - 7 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL LAYOUT - ANCHOR Button được neo biên trái Button tự do Vị trí tương đối với biên trái không đổi Di chuyển tương ứng theo kích thước mới Phạm Hoàng Hải LTUDQL - 8 Khoa CNTT CNPM 2.
TỔNG QUAN VỀ CONTROL LAYOUT - ANCHOR Biên được chọn neo, màu đậm Phạm Hoàng Hải LTUDQL - 9 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL LAYOUT - DOCK ¨ Các control có thể gắn (dock) với một cạnh nào đó của form, hoặc container của control. Windows Explorer ListView gắn bên phải TreeView gắn bên trái Phạm Hoàng Hải LTUDQL - 10 Khoa CNTT CNPM 2. TỔNG QUAN VỀ CONTROL LAYOUT - DOCK Top Left Fill Right Bottom None Phạm Hoàng Hải LTUDQL - 11 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG FORM ¨ Form, Label, Text Box, Button ¨ Check Box, Radio Button ¨ Combo Box, Listbox, Listview, Treeview ¨ Menu Strip, Tool Strip ¨ Groupbox, Panel, Tab Phạm Hoàng Hải LTUDQL - 12 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG FORM ¨ Form, Label, Text Box, Button ¨ Check Box, Radio Button ¨ Combo Box, Listbox, Listview, Treeview ¨ Menu Strip, Tool Strip ¨ Groupbox, Panel, Tab Phạm Hoàng Hải LTUDQL - 13 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG FORM MỘT SỐ THUỘC TÍNH CƠ BẢN 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 Trạng thái của Form MainMenuStrip Chọn Menu chính cho form ContextMenu Chọn Menu ngữ cảnh cho Form Maximize/Minimize Trạng thái phóng to và thu nhỏ Box trên Form WindowState Trạng thái của của số ShowInTaskbar Trạng thái hiện thị trên Taskbar Phạm Hoàng Hải LTUDQL - 14 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG FORM MỘT SỐ PHƯƠNG THỨC CƠ BẢN Close Đóng form Hide Cho ấn form Show Hiện thị form chế độ Modeless ShowDialog Hiện thị form chế độ Model Phạm Hoàng Hải LTUDQL - 15 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG FORM MỘT SỐ THUỘC TÍNH CƠ BẢN Load Sự kiện phát sinh khi form Load FormClosed Sự kiện phát sinh khi form đã đóng FormClosing Sự kiện phát sinh khi form đang đóng Phạm Hoàng Hải LTUDQL - 16 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LABEL CÁC THUỘC TÍNH CƠ BẢN Font Font hiển thị của text Text Nội dung text hiển thị TextAlign Canh lề text ForeColor Màu text Visible Trạng thái hiển thị Enable Trạng thái sử dụng hoặc không sử dụng control Phạm Hoàng Hải LTUDQL - 17 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG TEXTBOX MỘT SỐ THUỘC TÍNH CƠ BẢN Text Chuỗi nhập vào TextLength Chiều dài chuỗi Text TextAlign Canh lễ cho chuỗi Multiline Textbox ở chế độ nhiều dòng PasswordChar Chỉ hiển thị kí tự đại diện (*,….) ReadOnly Textbox hiển thị nền xém, chỉ cho xem. Scrollbar Thanh cuộn chế độ multiline SelectedText Chuỗi Text do người dùng, dùng chuột chọn SelectionStart Vị trí bắt đầu của SelectedText SelectionLength Chiều dài của SelectedText BorderStyle Trạng thái đường viền của Textbox Phạm Hoàng Hải LTUDQL - 18 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG TEXTBOX MỘT SỐ PHƯƠNG THỨC CƠ BẢN AppendText Cộng dồn chuỗi Clear Xóa nội dung trên Textbox Copy Copy toàn bộ nội dung trên Textbox Cut Cắt nội dung trên Textbox Paste Dán nội dung vào trong Textbox Undo Quay trợ về trạng thái cũ GetCharIndexFor Lấy kí tự tại vị trí mPosition Select Chọn Phạm Hoàng Hải LTUDQL - 19 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG TEXTBOX MỘT SỐ SỰ KIỆN CƠ BẢN TextChanged Sự kiện phát sinh khi có kí tự được nhập vào Textbox Phạm Hoàng Hải LTUDQL - 20 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG TEXTBOX – DEMO CHUYỂN KÍ TỰ THƯỜNG à HOA Chuyển thành chữ hoa Double click vào textbox để tạo event handler cho event TextChanged Phạm Hoàng Hải LTUDQL - 21 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG TEXTBOX CHỈ CHO NHẬP SỐ VÀO TEXTBOX Sự kiện phát sinh khi Sự kiện KeyPress textbox nhận focus và user nhấn 1 phím Phạm Hoàng Hải LTUDQL - 22 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG BUTTON MỘT SỐ THUỘC TÍNH CƠ BẢN Text Chuỗi nhập vào TextAlign Canh lễ cho chuỗi BackgroundImage Hình nền trên Button DialogResult Thiết lập giá trị trả về cho Form Phạm Hoàng Hải LTUDQL - 23 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG BUTTON MỘT SỐ SỰ KIỆN CƠ BẢN Click Sự kiện phát sinh khi người dùng click lên Button Phạm Hoàng Hải LTUDQL - 24 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG ¨ Form, Label, Text Box, Button ¨ Check Box, Radio Button ¨ Combo Box, Listbox, Listview, Treeview ¨ Menu Strip, Tool Strip ¨ Groupbox, Panel, Tab Phạm Hoàng Hải LTUDQL - 25 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG CHECKBOX - RADIOBUTTON ¨ Control đưa ra một giá trị cho trước và user có thể chọn giá trị • Chọn giá trị khi Checked = true • Không chọn giá trị: Checked = false Checkbox RadioButton Phạm Hoàng Hải LTUDQL - 26 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG CHECKBOX ¨ ThreeState = true : cho phép thiết lập 3 trạng thái: • Checkstate = Indeterminate: không xác định • CheckState= Checked: chọn • CheckState= Unchecked: không chọn Chưa chọn Phạm Hoàng Hải LTUDQL - 27 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG CHECKBOX ¨ Một số thuộc tính cơ bản • Checked • CheckState • Text ¨ Một số sự kiện cơ bản • CheckedChanged • CheckStateChanged Phạm Hoàng Hải LTUDQL - 28 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG RADIOBUTTON ¨ Một số thuộc tính cơ bản • Checked • Text ¨ Một số sự kiện cơ bản • CheckedChanged Phạm Hoàng Hải LTUDQL - 29 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG RADIOBUTTON Nhóm RadioButton thứ 1 chứa trong GroupBox1 Nhóm RadioButton thứ 2 chứa trong GroupBox2 Phạm Hoàng Hải LTUDQL - 30 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG FORM ¨ Form, Label, Text Box, Button ¨ Check Box, Radio Button ¨ Combo Box, Listbox, Listview, Treeview ¨ Menu Strip, Tool Strip ¨ Groupbox, Panel, Tab Phạm Hoàng Hải LTUDQL - 31 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTBOX - COMBOBOX ¨ Cung cấp một danh sách các item cho phép user chọn ¨ ListBox cho phép hiển thị scroll nếu các item vượt quá vùng thể hiện của ListBox Phạm Hoàng Hải LTUDQL - 32 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG COMBOBOX ¨ Một số thuộc tính cơ bản • Items • DropDownStyle • SelectedIndex ¨ Một số sự kiện cơ bản • SelectedIndexChanged Phạm Hoàng Hải LTUDQL - 33 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG COMBOBOX Phạm Hoàng Hải LTUDQL - 34 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG COMBOBOX Bổ sung item trong màn hình design view Phạm Hoàng Hải LTUDQL - 35 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTBOX ¨ Thêm Items ¨ Chọn Items ¨ Xóa Items ¨ Sắp xếp Sorting ¨ Scrollbars Phạm Hoàng Hải LTUDQL - 36 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTBOX – THÊM ITEMS ¨ Sử dụng hàm Add(), AddRange(), Insert() ¨ Ví dụ: lbName.Add("aaa") string []lstMember = {"bbb", "ccc"} lbName.Insert(2, "ddd") Phạm Hoàng Hải LTUDQL - 37 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTBOX – CHỌN ITEM ¨ Sử dụng thộc tính SelectedIndex, SelectItem ¨ Sự kiện SelectedIndexChanged ¨ Thuộc tính SelectionMode có giá trị • None: không chọn • One: chọn 1 • MultiSimple: chọn nhiều (click là chọn) • MultiExtended: chọn nhiều (kết hợp với phím shift và ctrl => SelectedIndices, SelectedItems (chỉ có thể lấy giá trị) Phạm Hoàng Hải LTUDQL - 38 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG LISTBOX – XÓA ITEMS ¨ Sử dụng hàm Remove(), RemoveAt() ¨ Xóa toàn bộ: Clear() ¨ Ví dụ lbName.Clear() Phạm Hoàng Hải LTUDQL - 39 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTBOX - SORTING ¨ Sử dụng thuộc tính Sorted = true/false Phạm Hoàng Hải LTUDQL - 40 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTBOX - SCROLLBAR ¨ Vertical scroll bar: tự động ¨ Horizontal scroll bar: dùng thuộc tính HorizontalScrollbar Phạm Hoàng Hải LTUDQL - 41 Khoa CNTT CNPM 3. CÁC CONTROL THÔNG DỤNG LISTVIEW ¨ Tạo items từ GUI ¨ Các cách hiển thị View ¨ Tạo Icon cho Items ¨ Columns trong Listview ¨ Thêm mới items vào Listview ¨ Chọn Items trên Listview ¨ SubItems ¨ Editing Items ¨ Layout Items ¨ Lấy ListViewItem (x,y) ¨ Xóa items ¨ ListItems & CheckBoxes Phạm Hoàng Hải LTUDQL - 42 Khoa CNTT CNPM 3.
CÁC CONTROL THÔNG DỤNG LISTVIEW – TẠO ITEM TỪ GUI ¨ Cửa sổ Properties => Items Phạm Hoàng Hải LTUDQL - 43 Khoa CNTT CNPM 3.