Các bài tập Microsoft .NET 151
Private Sub closeMenuItem_Click( ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles closeMenuItem.Click
' Close the form
Me.Close()
End Sub
Khi chạy chương trình, hình dưới đây sẽ hiển thị:
Context Menus
Ta dùng Context Menu để Pop-Up một Menu xứng hợp với tình huống
đương thời của program khi user right click một control trên form. Trong
VB6, Context Menu cũng là một MenuCommand thông thường nhưng ta
thiết kế cho nó invisible, để chỉ khi nào ta muốn Pop-Up nó thì nó mới
hiển thị.
Trong VB.NET, Context Menu là một control riêng, nhưng ta edit nó
cũng giống như Main Menu. Khi đã thêm một control ContextMenu vào
form rồi, mỗi lần ta select nó trong mâm components thì Context Menu
hiện ra ở cạnh trên của form giống như Main Menu. Lúc Runtime, khi
Các bài tập Microsoft .NET 152
user right click một control có Context Menu thì ContextMenu sẽ hiển thị
ở vị trí đó.
Bạn hãy doubleClick control ContextMenu trong hộp đồ nghề để thêm
một Context Menu vào trong form. Kế đó set up các MenuItem như sau:
Để hiển thị cái Radio button bên trái một MenuItem, bạn phải làm hai
chuyện:
1. Set property Checked của MenuItem thành True để
hiển thị một checkmark hay một hình tròn nhỏ
(Radio button).
2. Set property RadioCheck của MenuItem thành True
để khi nào nó hiển thị thì có dạng Radio button, thay
vì một checkmark
.
'Toggle the radio check
blackOnWhiteMenuItem.Checked = False
WhiteOnBlueMenuItem.Checked = True
End Sub
Để ý property Checked của hai MenuItems được coded để hễ cái này
True thì cái kia phải False, tức là mutually exclusive. Và MenuItem nào
có trị số Checked là True thì Radio button hiển thị phía trước nó.
Sửa đổi Menus lúc Runtime
Ta có thể sửa đổi Menu lúc Runtime, chẳng hạn như Context Menu
thường có những dạng khác nhau tùy theo trạng thái của một control hay
form.
Một thí dụ khác là hiển thị danh sách các files mà chương trình truy cập
trong quá khứ. Thông thường ta chứa tên các files ấy trong Registry và
khi cần sẽ đọc và load vào Menu.
Dưới đây là code chỉ cách cho thêm một MenuItem vào trong một
ContextMenu, và cách clear (xóa) mọi MenuItems. Ta biết rằng
ContextMenu có một property là collection của những MenuItems. Do đó
muốn thêm một MenuItem thì cần trải qua ba bước:
1. Instantiate một MenuItem.
2. Đăng ký Event Handler (ở đây là AddressOf Sub
NewMenuItem_Click), mà chương trình sẽ dùng để
xử lý Event Click của MenuItem ấy.
3. Thêm MenuItem ấy vào collection MenuItems của
control ContextMenu.
Thêm vào form hai buttons đặt tên là BtnAddMenuItem và
BtnClearContextMenu.
Các bài tập Microsoft .NET 155
Private Sub BtnAddMenuItem_Click( ByVal sender As System.Object, ByVal e As System.EventArgs)
_
Handles BtnAddMenuItem.Click