Tải bản đầy đủ (.pdf) (5 trang)

Tài liệu Những chức năng mới trong giao diện cửa sổ của VB.NET (phần V) docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (188.53 KB, 5 trang )


Bài 12
Những chức năng mới trong giao diện cửa sổ
của VB.NET (phần V)
Toolbars
Toolbars trong .NET đã được nâng cấp bằng cách thêm chức năng cho các
ToolBarButtons trong collection của những buttons ấy.Để dùng thử Toolbar
control, bạn hãy khởi động một Project mới và đặt một Toolbar vào form chính
bằng cách doubleclick lên Toolbar icon trong Toolbox. Một Toolbar sẽ hiện ra
nằm ngay dưới tiêu đề của form. Kế đó rightclick lên Toolbar ấy và chọn
Properties để edit property Buttons Collection bằng cách click lên chữ
(Collection) rồi click ba dấu chấm phía bên phải để hiển thị ToolbarButton
Collection
Editor.
Bạn hãy Add vào Toolbar ba buttons với những đặc tính sau:

Đổi property Text của button thứ nhất (ToolbarButton1) ra Close vì ta
muốn đóng chương trình khi user click lên button ấy. By default Style của
ToolbarButton là PushButton.

Đổi property Style của button thứ nhì (ToolbarButton2) ra Separator
vì ta muốn dùng nó để tạo khoảng cách giữa button thứ nhất và button
thứ ba.

Đổi property Text của button thứ ba (ToolbarButton3) ra Background
Colour và property Style ra DropDownButton vì ta muốn dùng nó như
một Combobox.
Khi chạy thử chương trình ta sẽ thấy hình giống như dưới đây:

Bây giờ ta sẽ viết code để xử lý Event Click của Toolbar. Chỉ có một handler,
Sub ToolBar1_ButtonClick, được dùng cho tất cả các buttons. Ta phân biệt


Button nào dựa vào Index của nó, giống giống như một array of buttons trong
VB6. Nếu user click button thứ nhất ta sẽ có
ToolBar1.Buttons.IndexOf(e.Button) bằng 0, lúc ấy ta sẽ Close form chính.
Private Sub ToolBar1_ButtonClick( ByVal sender As System.Object, ByVal
e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles
ToolBar1.ButtonClick
Select Case ToolBar1.Buttons.IndexOf(e.Button)
Case 0 ' Close Button
Me.Close()
Case 1 ' Never happens because the Button is a Separator

Case 2 '
MessageBox.Show("You clicked the third button")
End Select
End Sub
Nếu không muốn dùng ToolBar1.Buttons.IndexOf(e.Button), bạn cũng có thể so
sánh Buttons với operator Is như sau:
If e.Button Is ToolBarButton1 Then
Me.Close()
ElseIf e.Button Is ToolBarButton3 Then
MessageBox.Show("You clicked the third button")
End If
Kế đó chúng ta cho đặt một ContextMenu tên ContextMenu1 vào form và
assign nó vào property DropDownMenu của button thứ ba như trong hình dưới
đây:
Nếu không muốn assign ContextMenu1 vào button thứ ba trong lúc thiết kế, bạn
có thể thực hiện việc ấy bằng code lúc form mới load như sau:
Private Sub frmToolbar_Load( ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ToolBarButton3.DropDownMenu = ContextMenu1

End Sub
Bạn hãy edit hai menuItems cho ContextMenu1: một cái tên mnuXám với Text
là Xám và cái kia tên mnuTrắng với Text là Trắng. Khi chạy chương trình, nếu
bạn click cái thanh có dấu tam giác đen nằm bên phải button thứ ba,
ContextMenu1 sẽ hiện ra để bạn dùng. Nếu bạn click button thứ ba, chương
trình cũng generate một Click Event nhưng hiện giờ ta không dùng nó, chỉ hiển
thị một sứ điệp nhỏ để xác định là có Event Click ấy.Như thế, ta thấy .NET ghép
một ContextMenu vào một ToolbarButton để biến nó thành một DropDownMenu.
Có điều sau khi user đã chọn một Item trong ContextMenu/DropDownMenu,
Text của Item đó không được hiển thị giống như trong một ComboBox. Nếu bạn
khó tính và muốn có chuyện đó thì phải tự làm lấy như cho thấy trong code dưới
đây:
Private Sub frmToolbar_Load( ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ToolBarButton3.DropDownMenu = ContextMenu1
ToolBarButton3.Text = "Xám"
End Sub

Private Sub mnuXám_Click( ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuXám.Click
MessageBox.Show("Bạn chọn màu Xám")
ToolBarButton3.Text = "Xám"
End Sub

Private Sub mnuTrắng_Click( ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuTrắng.Click
MessageBox.Show("Bạn chọn màu Trắng")
ToolBarButton3.Text = "Trắng"
End Sub
Khi chạy chương trình bạn sẽ thấy như sau:




×