Common Dialog & User Control
ThS. Nguyễn Hà Giang Khoa CNTT -Hutech
1
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
2
Common Dialog
n Các dialog thường được sử dụng
q Được warp thành các lớp trong FCL/BCL
OpenFileDialog
ColorDialog
Common Dialog
SaveFileDialog
FontDialog
PrintDialog
Nguyen Ha Giang -2008
3
Common Dialog
n Cách sử dụng theo 2 cách sau
q 1. Kéo thả dialog vào form
n VS sẽ tạo thể hiện chứa trong lớp form
q 2. Khai báo đối tượng và tạo thể hiện của lớp CD n VD: OpenFileDialog oFile = new OpenFileDialog();
g o l a i D n o m m o C
Nguyen Ha Giang -2008
4
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
5
OpenFileDialog
n Sử dụng để chọn file lưu trên đĩa n Cách sử dụng từ ToolBox
Drag & drop
Code phát sinh tự động
xyz.Designer.cs
Nguyen Ha Giang -2008
6
OpenFileDialog
n Code phát sinh của VS
xyz.Designer.cs
Tạo thể hiện
Hiển thị Form
Nguyen Ha Giang -2008
7
OpenFileDialog
n Code tự viết –không dùng Toolbox
Nguyen Ha Giang -2008
8
OpenFileDialog
Thuộc tính, phương thức
Thuộc tính
FileName
Lấy tên file được chọn
FileNames
Lấy tên tất cả các file được chọn
Filter
Xác định kiểu file cần mở
InitialDirectory
Thư mục khởi tạo
Multiselect
Cho phép chọn nhiều file
Title
Tiêu đề của dialog
Phương thức
ShowDialog
Hiển thị dialog
Sự kiện
FileOk
Xuất hiện khi user kích vào OK
Nguyen Ha Giang -2008
9
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
10
SaveFileDialog
n Sử dụng để tạo file trên đĩa. n Cách sử dụng
q Sử dụng SaveFileDialog component trên Toolbox
n Tương tự như OpenFileDialog!
q Tạo thể hiện của lớp SaveFileDialog
Nguyen Ha Giang -2008
11
SaveFileDialog
n Demo: nhập văn bản vào textbox, sau đó lưu
xuống file *.txt. q Tạo ứng dụng dụng Windows Form có các control
n 1 label: caption của textbox n 1 textbox: chứa nội dung text do user nhập n 1 button: gọi SaveFileDialog và lưu file n 1 SaveFileDialog: khai báo dialog SaveFile.
Nguyen Ha Giang -2008
12
SaveFileDialog
n Thiết kế form
Drag & drop
Multiline=true
Nguyen Ha Giang -2008
13
SaveFileDialog
n Viết phần xử lý cho button “Lưu file”
System.IO
Nguyen Ha Giang -2008
14
SaveFileDialog
Nguyen Ha Giang -2008
15
SaveFileDialog
n Mở rộng bổ sung phần đọc file text từ demo trên q Open file *.txt và hiển thị nội dung của file trên
TextBox.
n Bổ sung thêm button “Mở file” và kéo thành
phần OpenFileDialog thả vào form
Drag & drop
Nguyen Ha Giang -2008
16
SaveFileDialog
n Viết phần xử lý button “Mở file”
Nguyen Ha Giang -2008
17
SaveFileDialog
n Demo
Hiển thị nội dung file
Nguyen Ha Giang -2008
18
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
19
FontDialog
n Chức năng hiển thị hộp thoại chọn font chữ
được install trong máy q Trong ứng dụng làm việc với document, đồ họa…
n Sử dụng FontDialog
q Từ ToolBox kéo thả FontDialog vào Form
n Sử dụng trong lúc thiết kế
q Khai báo thể hiện FontDialog và hiển thị
n Viết code
Nguyen Ha Giang -2008
20
FontDialog
Thuộc tính, phương thức thường dùng
Thuộc tính
Font
Get/set font được chọn
Color
Get/set màu của font
ShowColor
Hiển thị hay không hiển thị chọn màu
ShowApply
Hiển thị/ không button Apply
Phương thức
ShowDialog
Hiển thị dialog ra màn hình
Sự kiện
Apply
Kích hoạt khi user chọn apply
Nguyen Ha Giang -2008
21
FontDialog
n Demo: gọi FontDialog thiết lập font cho control n Tạo Form có dạng sau
Label để test font
Drag & drop
Button chọn font
Nguyen Ha Giang -2008
22
FontDialog
n Phần xử lý cho button “Font”
Nguyen Ha Giang -2008
23
FontDialog
Nguyen Ha Giang -2008
24
FontDialog
n Bổ sung chức năng “Apply” của FontDialog
q Khi FontDialog đang hiển thị cho phép user kích
chọn nút Apply (cid:222) label thay đổi font theo.
n Cách thực hiện
q Khai báo có hiện thị button Apply cho FontDialog
n fontDialog1.ShowApply = true n Đăng ký trình xử lý sự kiện cho button “Apply”
q Tạo trình xử lý cho sự kiện “Apply” của
FontDialog
q Đăng ký trình xử lý cho sự kiện Apply của
FontDialog
Nguyen Ha Giang -2008
25
FontDialog
n Code minh họa
Nguyen Ha Giang -2008
26
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
27
ColorDialog
n Hiển thị chức năng chọn màu n Sử dụng theo 2 cách
q Kéo ColorDialog từ Toolbox thả vào form… q Viết code tạo đối tượng…
n ColorDialog sử dụng giá trị màu có kiểu Color
q Màu ARGB n Alpha n Red n Green n Blue
Nguyen Ha Giang -2008
28
ColorDialog
n Demo chọn màu: chọn màu nền cho form
Drag & drop
Nguyen Ha Giang -2008
29
ColorDialog
n Phần xử lý cho button “Color”
Nguyen Ha Giang -2008
30
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
31
MessageBox
n Hiển thị hộp thoại chứa thông tin chỉ dẫn đến
user
n Bao gồm các phần
q Text q Button q Symbol
n Lớp MessageBox có phương thức tĩnh Show để
hiển thị dialog. q Bắt giá trị trả về để biết phản ứng của user
Nguyen Ha Giang -2008
32
MessageBox
n Có khoảng 21 phiên bản của Show n Một số phiên bản thường sử dụng
q DialogResult Show(string text); q DialogResult Show(string text, string caption); q DialogResult Show(string text, string caption,
MessageBoxButtons button);
q DialogResult Show(string text, string caption,
MessageBoxButtons button, MessageBoxIcon icon);
q …
Nguyen Ha Giang -2008
33
MessageBox
n Các button hiển thị theo message
q Cho phép user chọn lựa các phản ứng với
message
q Được định nghĩa trong MessageBoxButtons
OK
OKCancel
AbortRetryIgnore
MessageBoxButtons
YesNoCancel
YesNo
RetryCancel
Nguyen Ha Giang -2008
34
MessageBox
n MessageBoxIcon: định nghĩa các icon kèm theo
message
MessageBoxIcon.Asterisk MessageBoxIcon.Information
MessageBoxIcon.Error MessageBoxIcon.Stop MessageBoxIcon.Hand
MessageBoxIcon.Exclamation MessageBoxIcon.Warning
MessageBoxIcon.Question
MessageBoxIcon.None
Nguyen Ha Giang -2008
35
MessageBox
n Một số các MessageBox minh họa
Nguyen Ha Giang -2008
36
Nội Dung
q Giới thiệu Common Dialog q OpenFileDialog q SaveFileDialog q FontDialog q ColorDialog q MessageBox q User Control
Nguyen Ha Giang -2008
37
User Control
n Công việc kéo thả nhóm control thường sử
dụng (cid:222) nhàm chán!
n User control phục vụ mục đích tái sử dụng n Vấn đề:
q Nhóm control phục vụ cho việc login thường xuất
hiện trong ứng dụng
n Yêu cầu:
q Tạo nhóm control phục vụ cho việc login q Nhóm control này bao gồm
n 2 label n 2 textbox
Nguyen Ha Giang -2008
38
User Control
n Bước 1: Tạo ứng dụng Windows Control Library
Nguyen Ha Giang -2008
39
User Control
n Bước 2: thiết kế user control như sau
2 TextBox
2 Label có chứa image
Nguyen Ha Giang -2008
40
User Control
n Khai báo các property cho user control
q Mỗi property gắn với textBox n UserName gắn với txtUID n Password gắn với txtPwd
Nguyen Ha Giang -2008
41
User Control
n Biên dịch user control n Kết quả được file assembly có phần mở rộng là
DLL
n Sử dụng user control trong client app q Add vào phần References của project
n Tạo đối tượng user control, add vào form…
q Add vào ToolBox | Choose Items…
n Kéo user control thả vào form, code phát sinh tự
động
Nguyen Ha Giang -2008
42
User Control
n Tạo ứng dụng Test User control q Tạo ứng dụng Windows Form q Thêm User Control vào ToolBox n Kích chuột phải vào ToolBox n Chọn chức năng Choose Items… n Chọn file DLL của User control vừa tạo
q Kéo user control thả vào form
Nguyen Ha Giang -2008
43
User Control
n Kéo thả user control vào form
Drag & drop
Phát sinh code trong designer.cs
Nguyen Ha Giang -2008
44
User Control
n Sử dụng User Control như control bình thường
trên form.
n Truy cập user control HAGLogin thông qua 2
property đã định nghĩa khi xây dựng control này q UserName: là textBox User Name q Password: là nội dung của textBox Password
Nguyen Ha Giang -2008
45
Tóm tắt
n Common Dialog
q OpenFileDialog -SaveFileDialog q FontDialog -ColorDialog
n MessageBox
q Khai báo và sử dụng q MessageBoxIcon q MessageBoxButtons
n User control
q Xây dựng user control q Sử dụng user control
Nguyen Ha Giang -2008
46

