Bài giảng Lập trình Ứng dụng quản lý - Tuần 7: WinForm (Phần 2)

10/17/2018  
Lập trình Ứng dụng quản lý  
C#.NET  
Windows Forms (tt)  
Nội dung  
Nhó m common controls  
Nhó m containers  
Nhó m Menus & Toolbars  
Trao đổi dữ liệu giữa các form  
1
10/17/2018  
Nội dung  
Nhó m common controls  
Nhó m containers  
Nhó m Menus & Toolbars  
Trao đổi dữ liệu giữa các form  
Nhó m common controls  
Là nhó m cá c control thông dụng (thường được  
sử dụng trong hầu hết các trường hợp).  
Mỗi control cung cấp chức năng đặc trưng riêng,  
chủ yếu là thuộc về nhóm hiển thị (text, danh  
sách, image,…), nhập liệu (text, lựa chọn,…)  
Nhóm cơ bản  
Button  
Label  
Textbox  
CheckBox  
RadioButton  
2
10/17/2018  
Nhóm hiển thị đặc trưng của dữ liệu  
NumericUpDown  
PictureBox  
RichTextBox  
DateTimePicker  
MonthCalendar  
ProgressBar  
Nhóm chứa danh sách dữ liệu  
ComboBox  
ListBox  
ListView  
TreeView  
3
10/17/2018  
Đặc trưng  
Cần quan tâm đến danh sách Items và loại item cụ  
thể mà control có khả năng lưu giữ.  
ComboBox, ListBox: item gốc là text.  
ListView: item là ListViewItem (chứa nội dung text và  
index image).  
TreeView: item là TreeNode (đặc điểm là có phân cấp nên  
mỗi TreeNode có thể chứa các TreeNode khác)  
Nhó m control này chủ yếu để hiển thị danh sách  
và cho phép lựa chọn, do đó event cần quan tâm  
nhất chính là liên quan đến việc lựa chọn item.  
Ngoài ra việc hiển thị, lựa chọn có thể được lựa  
chọn cách thức qua các property (SelectionMode,  
ViewMode,…)  
Nội dung  
Nhó m common controls  
Nhó m containers  
Nhó m Menus & Toolbars  
Trao đổi dữ liệu giữa các form  
4
10/17/2018  
Nhó m containers  
Là nhóm chức năng chủ yếu cho việc layout, sắp  
xếp các controls.  
Khi sử dụng nhóm này cần lưu ý đến việc layout  
cho chí nh container thô ng qua property Dock,  
Anchor.  
Việc sử dụng các container là rất quan trọng  
trong xây dựng giao diện chức năng, nó giúp cho  
các bố cục rõ rang, dễ dàng quản lý các control.  
Property cần quan tâm trong nhóm container là  
Controls (tương tự Form).  
Panel  
Giúp tá ch riêng nhó m control.  
Dễ dàng quản lý (ẩn, hiện, enable,…)  
Dễ dàng làm nổi bật những nhóm control.  
5
10/17/2018  
GroupBox  
Tương tự Panel nhưng có thêm title và border mặc  
định.  
Sử dụng khi cần nhóm các control vào một chức  
năng cụ thể cần thể hiện.  
FlowLayoutPanel  
Tương tự Panel nhưng tự sắp xếp các control con  
kế tiếp nhau.  
Cho phép thay đổi kiểu sắp xếp (Left-Right, Top-  
Down,…)  
6
10/17/2018  
TableLayoutPanel  
Tương tự Panel nhưng tự sắp xếp các control con  
vào từng cell trên table.  
Cho phép thay đổi số lượng, kích thước hàng và cột,  
đường phân cách cell.  
SplitContainer  
Là một cặp Panel đi liền kề nhau (chia làm 2 phần).  
Cho phép thay đổi kích thước mỗi panel động.  
Cho phép thay đổi cách hiển thị dọc hay ngang.  
7
10/17/2018  
TabControl  
Là các panel thể hiện theo dạng đặc biệt (Tab).  
Tại một thời điểm chỉ có 1 tab được hiển thị.  
Nội dung  
Nhó m common controls  
Nhó m containers  
Nhó m Menus & Toolbars  
Trao đổi dữ liệu giữa các form  
8
10/17/2018  
Nhó m Menus & Toolbars  
Mục tiêu hiển thị các điều hướng cho chương  
trì nh.  
Các loại được cung cấp  
MenuStrip  
ToolStrip  
StatusStrip  
ToolStripContainer  
ContextMenuStrip  
MenuStrip  
Thể hiện của menu thông thường. Thường nằm ở  
Top.  
Chủ yếu các text được phân cấp để điều hướng lựa  
chọn.  
MenuStrip  
9
10/17/2018  
Đặc điểm  
MenuStrip cho phép thiết kế menu trên Form  
với các thành phần con như:  
ToolStripMenuStrip (menu con)  
ToolStripComboBox (menu ComboBox)  
ToolStripSeparator (gạch phân cách)  
ToolStripTextBox (menu TextBox)  
Các thuộc tính cơ bản  
ToolStripMenuItem  
Thể hiện tùy chọn trên menu.  
Thay thế cho MenuItem (vẫn có thể sử dụng nếu  
muốn).  
Các thuộc tính  
10  
10/17/2018  
Cá c event  
ToolStripComboBox  
Trình bày MenuItem như một ComboBox  
Các thuộc tính hoàn toàn tương tự ComboBox  
Ngoài ra có thêm thuộc tính TooltipText thể hiện  
chuỗi Tip khi chuột di vào  
Cá c event chí nh  
ToolStripTextBox  
Trình bày MenuItem dạng TextBox  
Hoàn toàn tương tự như TextBox  
Ngoài ra có thêm thuộc tính TooltipText thể hiện  
chuỗi Tip khi chuột di vào  
Các event cũng hoàn toàn tương tự TextBox  
(TextChanged, Click, DoubleClick).  
ToolStripSeparator  
Trình bày MenuItem dạng đường kẻ ngăn cách  
Tương tự như nếu sử dụng ToolStripMenuItem với  
Text là “---”;  
11  
10/17/2018  
ContextMenuStrip  
Là Menu dạng popup (thường xuất hiện cùng việc  
nhấn chuột phải)  
Có thể dùng chung ContextMenuStrip cho cả Form  
và cá c Control con  
Các thuộc tính hầu như giống với MenuStrip  
Sau khi đã có Control ContextMenuStrip thì có thể  
gán vào thuộc tính ContextMenuStrip của các  
Control  
ContextMenuStrip  
ToolStrip  
Là Control trình bày thanh công cụ giao tiếp với  
người dùng thông qua các ToolStripItem. Thường  
nằm ngay dưới menu.  
ToolStrip  
12  
10/17/2018  
ToolStripItem  
Có các loại ToolStripItem khác nhau như:  
ToolStripButton, ToolStripComboBox,  
ToolStripSplitButton (nút dạng sổ danh sách, có thể  
nhấn độc lập), ToolStripLabel, ToolStripSeparator,  
ToolStripDropDownButton (dạng sổ danh sách),  
ToolStripProgressBar và ToolStripTextBox.  
Các thuộc tính  
Cá c event  
ToolStripProgressBar  
Trình bày một thanh thể hiện quá trình hoàn thành tác vụ  
nào đó  
13  
10/17/2018  
StatusStrip  
Là Control để trình bày thông tin trạng thái trên  
Form  
Có các thành phần con như: ToolStripStatusLabel,  
ToolStripDropDownButton, ToolStripSplitButton và  
ToolStripProgressBar.  
Các thuộc tính hoàn toàn tương tự ToolStrip  
StatusStrip  
Properties  
Trình bày chuỗi trên StatusStrip tương tự như Label  
14  
10/17/2018  
ToolStripDropDownButton  
Thể hiện dạng sổ danh sách các MenuStripItem:  
ToolStripMenuItem, ToolStripTextBox,  
ToolStripComboBox, ToolStripSeparator  
Các thuộc tính hầu hết tương tự như  
ToolStripStatusLabel, thuộc tính khác biệt là  
DropDownLists: Collection các thành phần con kể  
trên  
Event: ngoài Click và DoubleClick thì có thêm event  
DropDownItemClick raise khi nhấn vào từng phần  
tử con  
ToolStripContainer  
Bộ quản lý ToolStrip ở các cạnh.  
ToolStripContainer  
15  
10/17/2018  
Nội dung  
Nhó m common controls  
Nhó m containers  
Nhó m Menus & Toolbars  
Trao đổi dữ liệu giữa các form  
Trao đổi dữ liệu giữa các Form  
Với ứng dụng WinForms, trong một số trường  
hợp chúng ta cần phải trao đổi dữ liệu từ form  
này sang form khá c.  
Dựa vào kiến thức cơ bản C# có thể đề suất 5  
phương pháp sau:  
Sử dụng phương thức khởi tạo (Constructor).  
Sử dụng đối tượng tham chiếu (reference object).  
Sử dụng thuộc tính của lớp đối tượng (properties).  
Sử dụng delegates.  
Sử dụng events.  
16  
10/17/2018  
Sử dụng phương thức khởi tạo (Constructor)  
Ưu điểm: đơn giản, dễ sử dụng, chỉ cần tạo  
phương thức khởi tạo cho Form cần nhận dữ liệu  
có tham số phù hợp.  
Nhược điểm: chỉ truyền được dữ liệu ngay lúc khởi  
tạo Form.  
var frm = new frmEdit(this);  
frm.StartPosition = FormStartPosition.CenterParent;  
frm.ShowDialog();  
Sử dụng đối tượng tham chiếu (reference  
object)  
Cách thức cài đặt: trong Form cần nhận dữ liệu sẽ  
gán 1 tham chiếu đến Form truyền dữ liệu, đồng  
thời phải public các thành phần cần lấy dữ liệu.  
Nhược điểm: nếu dữ liệu cần truyền đi gồm nhiều  
thành phần thì cài đặt dài dòng và mất đi tính đóng  
gói của lớp.  
17  
10/17/2018  
Sử dụng thuộc tính của lớp đối tượng  
(properties)  
Cách thức cài đặt: tạo các Properties của các dữ  
liệu cần truyền đi.  
Nhược điểm: cài đặt dài dòng và vẫn phụ thuộc  
việc cài đặt hành động của chính Form truyền.  
Sử dụng delegates  
Cách thức cài đặt: trong form truyền dữ liệu khai  
báo delegate với dữ liệu tương ứng, trong form  
nhận sẽ tạo hàm tiếp nhận delegate đó.  
Ưu điểm: việc hành xử cụ thể sẽ do chính Form  
nhận quyết định.  
Nhược điểm: cài đặt cần kiến thức delegates. Cần  
nắm giữ đối tượng delegate.  
18  
10/17/2018  
Sử dụng events  
Hoàn toàn tương tự phương pháp sử dụng  
delegates, điểm khác là thay thế bằng events.  
Ưu điểm: hành động do Form nhận quyết định và  
đồng thời việc cài đặt thời điểm xảy ra phương thức  
là tùy ý.  
Bài tập  
Xây dựng chương trình quản lý danh sách sinh  
viên với việc sửa đổi trên dialog riêng.  
19  
pdf 19 trang myanh 25620 Free
Bạn đang xem tài liệu "Bài giảng Lập trình Ứng dụng quản lý - Tuần 7: WinForm (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_ung_dung_quan_ly_tuan_6_c_net_winform_ph.pdf