ToolTip là
điều khiển cho phép hiển thị các
thông tin chú thích khi người dùng đưa chuột qua các điều khiển có thiết lập ToolTip.
Hình 2.42.
Điều khiển ToolTip
Bảng 2.11. Một số thuộc tính thường dùng của
ToolTip
Thuộc tính
|
Mô tả
|
Active
|
Mang giá trị True hoặc False, nếu thiết lập
True thì ToolTip có hiệu lực hiển thị thông báo, nếu
mang giá trị False thì ToolTip không hiển thị được
thông báo
|
AutomaticDelay
|
Thiết lập thời gian xuất hiện
ToolTip khi vừa đưa chuột đến điều
khiển, thời gian tính bằng mili giây
|
AutoPopDelay
|
Thời gian hiển thị ToolTip cho đến
khi kết thúc khi người dùng đã đưa chuột
đến điều khiển, thời gian tính bằng
mili giây
|
IsBalloon
|
Quy định kiểu thiển thị của
ToolTip (False/True)
|
ReshowDelay
|
Thời gian mà ToolTip tắt từ khi người
dùng đưa chuột ra khỏi điều khiển, thời
gian tính bằng mili giây
|
ToolTipIcon
|
Biểu tượng xuất hiện bên cạnh
chuỗi khai báo trong thuộc tính ToolTipTitle
|
ToolTipTitle
|
Chuỗi hiển thị bên cạnh biểu tượng
ToolTipIcon
|
UseAnimation
|
Thiết lập hiệu ứng ảnh động
được biểu diễn khi ToolTip được
hiển thị
|
UseFading
|
Thiết lập hiệu ứng mờ dần
được biểu diễn khi ToolTip hiển thị
|
Bảng 2.12. Một số phương thức thường
dùng của ToolTip
Phương thức
|
Mô tả
|
SetToolTip()
|
Thiết lập chuỗi hiển thị của
ToolTip trên điều khiển
|
GetToolTip()
|
Biểu tượng xuất hiện bên cạnh
chuỗi khai báo trong thuộc tính ToolTipTitle
|
Clear()
|
Loại bỏ tất cả ToolTipText cho khác
điều khiển trên Form
|
Điều khiển HelpProvider cung cấp cửa sổ trợ giúp cho điều khiển. Với những ứng dụng có sử dụng HelpProvider, người dùng có thể
gọi sự trợ giúp bằng
cách ấn phím F1.
Hình 2.43.
Điều khiển HelpProvider
Bảng 2.13. Một số thuộc tính thường dùng của
HelpProvider
Thuộc tính
|
Mô tả
|
HelpNamespace
|
Chỉ định tên tập trình trợ giúp
định dạng chm hoặc html
|
HelpKeyWord
|
Từ khóa tìm kiếm, từ khóa này là chi mục
hoặc chủ đề được truyền vào tập
tin tìm kiếm. Thuộc tính HelpNavigator sẽ quy định
từ khóa này tìm kiếm theo chủ đề hay theo chỉ
mục
|
HelpString
|
Hiển thị chuỗi trợ giúp cho điều
khiển. Nếu thuộc tính HelpProvider không được
thiết lập thì khi người dùng nhấn F1 sẽ hiển
thị chuỗi trợ giúp này
|
ShowHelp
|
Nếu thiết lập giá trị True thì cho phép nội
dung trợ giúp hiển thị trên một điều khiển
nào đó. Nếu thiết lập giá trị False thì không hiển
thị được
|
HelpNavigator
|
Thiết lập cách thức hiển thị của
tập tin trợ giúp. Gồm các thuộc tính thành viên
như:
AssociateIndex:
Mở tập tin trợ giúp và hiển thị danh sách chỉ
mục có ký tự trùng với ký tự đầu tiên
trong thuộc tính HelpKeyWorf
Find: Giúp hiển
thị nội dung trợ giúp có chuỗi ký tự trùng với
từ khóa trong thuộc tính HelpKeyWord
Index: Hiển
thị danh mục các chỉ mục trong tập tin trợ
giúp
KeyWordIndex: Hiển
thị danh mục là các chỉ mục như từ khóa
trong thuộc tính HelpKeyWord
TableOfContentsL Hiển thị tất cả cá nội dung trong tập
tin trợ giúp
Topic: Hiển
thị danh mục các chủ đề trong tập tin trợ
giúp, áp dụng với tập tin có hỗ trợ danh mục
các chủ đề
TopicId: Hiển
thị chủ đề có mã trùng với mã chủ đề
chỉ định, áp dụng với tập tin có hỗ
trợ danh mục các chủ đề và các chủ đề
được đánh số.
|
Bảng 2.14. Một số phương thức thương
dùng của HelpProvider
Phương thức
|
Mô tả
|
SetHelpKeyWord
|
Thiết lập giá trị cho thuộc
tính HelpKeyWord
|
SetHelpNavigator
|
Thiết lập giá trị cho thuộc
tính HelpNavigator
|
SetHelpString
|
Thiết lập giá trị cho thuộc
tính HelpString
|
SetShowHelp
|
Thiết lập giá trị cho thuộc
tính ShowHelp
|
ErrorProvider giúp báo cho người dùng biết
thông tin lỗi của điều khiển trên
Form. Thông thường
khi điều khiển trên Form lỗi, ErrorProvider sẽ cung cấp một biểu tượng
để thông báo lỗi bên cạnh điều
khiển đó.
Hình 2.44.
Điều khiển ErrorProvider
Bảng 2.15. Một số thuộc tính có trong ErrorProvider
Thuộc tính
|
Mô tả
|
Icon
|
Chọn biểu tượng thể
hiện lỗi của điều khiển
|
BlinkRate
|
Tốc độ nhấp nháy của
biểu tượng trong thuộc tính Icon. Tốc độ
tính theo mili giây
|
BlinkStyle
|
Kiểu nhấp nháy của biểu
tượng. Nếu thiết lập giá trị NeverBlink
thì biểu tượng sẽ hiển thị mà không nhấp
nháy
|
Bảng 2.16. Một số phương thức của
ErrorProvider
Phương thức
|
Mô tả
|
SetError (<Điều khiển>, <Thông báo lỗi>)
|
Giúp hiển thị lỗi và thông
báo lỗi của điều khiển. Thông báo lỗi hiển
thị dưới dạng ToolTip
|
Clear()
|
Xóa biểu tượng ErrorProvider của
điều khiển tương ứng trên Form
|
GetError()
|
Lấy chuỗi thông báo lỗi của
điều khiển
|
Trong phần này sẽ thực hiện viết một ứng dụng sử dụng 3 điều
khiển đặc biệt trên, cụ thể là thiết kế giao diện như dưới đây sau đó xử lý một số sự kiện theo yêu cầu.
Hình 2.45.
Giao diện sử dụng ToolTrip, HelpProvider, ErrorProvider
Yêu cầu:
·
Thiết kế giao diện cho Form giống như Form mẫu ở trên.
·
Khi rê chuột vào ô TextBox "Tên đăng nhập" thì hiển thị dòng ghi
chú "Chỉ
được nhập ký tự a-z và 0-9".
·
Khi rê chuột vào ô TextBox "Mật khẩu" thì hiển thị dòng ghi
chú "Chỉ
được nhập ký tự từ 0-9".
·
Khi load Form thì nội dung trong ô TextBox "Mật khẩu" sẽ được
mã hóa thành dấu *, khi
Tick vào ô "Hiển thị mật khẩu" thì mật khẩu sẽ được hiển thị.
·
Xử lí nút Button "Đăng nhập",
nếu hai ô TextBox ở trên không để trống thì thông báo đăng nhập thành công, ngược lại nếu một trong hai để trống thì
thông báo điền
đầy đủ thông tin.
·
Xử lý nút Button "Thoát" để
thoát khỏi
chương trình.
·
Khi nhấn F1 thì sẽ hiển thị trang hướng dẫn theo
đường link (https://gis-humg.com/Default.aspx?WindowsFormsCS=6).
Các bước thực hiện:
Bước 1: Thiết kế giao diện như Form mẫu, bao gồm:
·
4 Label với nội dung hiển thị tương ứng.
·
2 TextBox để nhập tên đăng nhập và mật khẩu.
·
1 CheckBox để hiển thị mật khẩu.
·
2 Button để đăng nhập và thoát.
·
1 ToolTip để hiển thị thông
báo lúc rê chuột vào ô
TextBox.
·
1 HelpProvider để tạo đường dẫn hướng dẫn khi nhấn F1.
Bước 2: Xử lý trên nút Button "Đăng nhập".
Sử dụng string.IsNullOrWhiteSpace() để kiểm tra điều
kiện ô TextBox không
được để trống.
private void btn_dangnhap_Click(object sender,
EventArgs e)
{
if (!string.IsNullOrWhiteSpace(txt_tendangnhap.Text)
|| !string.IsNullOrWhiteSpace(txt_matkhau.Text))
{
MessageBox.Show("Đăng
nhập thành công !!!");
}
else
{
MessageBox.Show("Vui
lòng điền đầy đủ thông tin !!!");
}
}
|
Bước 3: Xử lý trên ô TextBox "Mật khẩu".
Trong TextBox ta sử dụng sự kiện KeyPress để đặt
điều kiện cho TextBox.
private
void
txt_matkhau_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(e.KeyChar >= '0' && e.KeyChar <=
'9' ||
e.KeyChar == (char)8))
e.Handled
= true;
}
|
Bước 4: Xử lý trên ô CheckBox.
·
Sử dụng Checked
để kiểm tra xem ô CheckBox có được tick hay không.
·
Sử dụng
PasswordChar để mã
hóa cho ô TextBox "Mật khẩu".
*Lưu ý:
Trong phần Properties của ô TextBox "Mật khẩu" các bạn cần điền dấu "*"
vào thuộc tính
PasswordChar.
private
void
chk_hienthi_CheckedChanged(object sender, EventArgs e)
{
if (chk_hienthi.Checked == true)
{
txt_matkhau.PasswordChar
= (char)0;
}
else
{
txt_matkhau.PasswordChar
= '*';
}
}
|
Bước 5: Xử lý khi rê chuột vào ô TextBox và khi nhấn F1 sẽ hiển thị trang hướng dẫn.
Ta sẽ viết sự kiện ở FormLoad.
Sử dụng SetToolTip để
viết sự kiện lúc rê chuột
vào TextBox và sử dụng HelpNamespace để viết sự kiện khi nhấn F1.
private
void
Form1_Load(object sender, EventArgs e)
{
toolTip1.SetToolTip(txt_tendangnhap,
"Chỉ được nhập ký tự a-z và
0-9");
toolTip1.SetToolTip(txt_matkhau,
"Chỉ được nhập ký tự từ
0-9");
helpProvider1.HelpNamespace
= "
https://gis-humg.com/Default.aspx?WindowsFormsCS=6";
}
|
Kết quả:
Hình 2.46.
Kết quả minh họa sử dụng ToolTrip, HelpProvider,
ErrorProvider
ToolTrip, HelpProvider, ErrorProvider là ba điều
khiển đặc biệt trong C# winforms. Đây là một trong các điều khiển rất quan trọng vì vậy phải luyện tập thật nhiều.