VB.NET - Bài 4: Các Control khác

ƒSửdụng hộp thôngđiệp

ƒSựhợplệcủadữliệunhập

ƒỨng dụng SDI, MDI

ƒMenu và xửlý sựkiện

pdf11 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 2475 | Lượt tải: 4download
Tóm tắt nội dung VB.NET - Bài 4: Các Control khác, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Bài 4
Mục tiêu
ƒSử dụng hộp thông điệp
ƒSự hợp lệ của dữ liệu nhập
ƒỨng dụng SDI, MDI
ƒMenu và xử lý sự kiện
Sự liên kết giữa các form
ƒTạo một đối tượng form
ƒThể hiện form lên màn hình
Dim [forminstance] as Form
[forminstance] = New [calledform]
[forminstance].Show()
Thí dụ:
Dim NewForm As Form
NewForm = new ImageForm()
NewForm.Show()
Hộp thoại - Dialog
Sử dụng
Các loại
„Hiển thị thông điệp đến người dùng
„Nhận thông tin từ phía người dùng
Các loại hộp thoại
•OpenFileDialog
•PageSetUpDialog
•FontDialog
•ColorDialog
•SaveFileDialog
•PrintPreviewDialog
•PrintDialog
Custom dialog boxes
Common dialog boxes
OpenFileDialog
FontDialog ColorDialog
Hộp thông điệp - MessageBox [1]
ƒ Hộp thông điệp
Đoạn mã thể hiện hộp thông điệp:
MessageBox.Show(“[Message]”)
ƒ Phương thức Show có 12 kiểu khác nhau (được
nạp chồng)
MessageBox (2)
Public Shared DialogResult Show(String, String, MessageBoxButtons, _
MessageBoxIcon)
Public Shared DialogResult Show(String, String, MessageBoxButtons)
Public Shared DialogResult Show(IWin32Window, String, String)
Public Shared DialogResult Show(IWin32Window, String)
Public Shared DialogResult Show(String, String)
Public Shared DialogResult Show(IWin32Window, String String, _
MessageBoxButtons)
Public Shared DialogResult Show(String)
Nạp chồng - Overloads
MessageBox (3)
Public Shared DialogResult Show(String, String, MessageBoxButtons, _
MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions)
Public Shared DialogResult Show(IWin32Window, String, String, _
MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton)
Public Shared DialogResult Show(IWin32Window, String, String, String, _
MessageBoxButtons, MessageBoxIcon)
Public Shared DialogResult Show(String, String, MessageBoxButtons, _
MessageBoxIcon, MessageBoxDefaultButton)
Public Shared DialogResult Show(IWin32Window, String, String, _
MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions)
Nạp chồng
Sự hợp lệ của dữ liệu
ƒSự hợp lệ ở mức form
ƒSự hợp lệ ở mức trường
Một số sự kiện được dùng:
ƒEnter
ƒLeave
ƒValidating
ƒValidated
Các loại kiểm tra:
Thứ tự các sự kiện Sự hợp lệ mức trường
ƒKeyPress
ƒKeyDown
ƒKeyUp
Sự kiện KeyPress
ƒTheo dõi dữ liệu nhập của người dùng ở từng byte
Thí dụ: 
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
End Sub
ƒCó một tham số đặc biệt kiểu
System.Windows.Forms.KeyPressEventArgs
Sự kiện KeyDown and KeyUp 
ƒ Có một tham số kiểu
System.Windows.Forms.KeyEventArgs
Thí dụ: 
Private Sub TextBox1_KeyUp(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles TextBox1.KeyUp
Private Sub TextBox1_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles TextBox1.KeyDown
Thuộc tính
•Một số thuộc tính:
•MaxLength
•PasswordChar
•Readonly
Một số phương thức
For i=0 To TextBox4.Text.Length - 1
If Not(Char.IsNumber(TextBox4.Text,i)) Then
MessageBox.Show("Phone Number must “ & _ 
be a numeric value")
TextBox1.Focus()
Next
Sự hợp lệ mức form
„ Kiểm tra dữ liệu có hợp lệ ở tất cả các trường?
„ Cho phép kích hoạt hay không kích hoạt một thành phần nào đó.
Thí dụ:
Private Sub Test()
Dim o As Object
For Each o In Me.Controls
If TypeOf o Is System.Windows.Forms.TextBox Then
Dim t As TextBox = CType(o, TextBox)
If t.Text = "" Then
MessageBox.Show("It cannot be empty")
t.Focus()
Return
End If
End If
Next
End Sub
Error Provider Control
„ Sử dụng để hiển thị icon lỗi khi người dùng thao tác lỗi
trên một control nào đó trên form.
„ Thuộc tính
- BlinkRate: xác định tốc độ nhấp nháy của icon lỗi.
- BlinkStyle: xác định cách thức mà icon nhấp nháy
trên control(AlwaysBlink, BlinkDifferentError, & 
NeverBlink).
- Icon: đường dẫn chỉ đến icon lỗi.
„ Phương thức
- GetError: nhận về chuỗi thông báo lỗi.
- SetError: xác lập chuỗi thông báo lỗi trên một control
xác định.
Xử lý ngoại lệ khi người dùng nhập không phải số.
Dim N, i As Integer, K As Long = 1
Try
N = Integer.Parse(txtN.Text)
For i = 1 To N
K = K * i
Next
lblKQ.Text = CStr(K)
Catch
err1.SetError(txtN, "Đây phải là giá trị số")
End Try
Error Provider - Thí dụ SDI (1)
New 
Document
Ứng dụng SDI 
chỉ có một cửa
sổ tại một thời
điểm
SDI [2]
„ Không thể mở nhiều form tại thời điểm
nào đó.
„ Nếu muốn mở nhiều form thì ta cần tạo
nhiều thể hiện của ứng dụng.
MDI (1) 
Nhiều tài liệu Ứng dụng MDI nhóm
nhiều tài liệu trong một
đơn vị duy nhất. 
ƒ Ứng dụng MDI có thể thao tác với nhiều cửa sổ
MDI (2)
Cửa sổ con
Cửa sổ cha
Designing an MDI application
IsMdiContainer= true
Thêm form con vào ứng dụng MDI:
ƒ Chọn Solution Explorer->Solution Name -> nhấp chuột phải -> 
Add Windows Form
ƒ Thêm đoạn mã để gọi thực thi form con
Đặc điểm của ứng dụng MDI (1)
„ Đặc điểm form cha:
• Hiển thị khi ứng dụng khởi động
• Là khung chứa cho các cửa sổ khác
• Hiển thị menu của các form con
• Chỉ có duy nhất một form cha
• Có thể mở nhiều form con tại một thời điểm
Đặc điểm của ứng dụng MDI (2)
„ Form con không thể di chuyển khỏi vùng hiển thị của
form cha.
„ Đóng form cha thì tất cả các form con đều bị đóng lại
Mở form con
Cửa sổ Activating and Deactivating 
Cửa sổ con 
Deactivate
Cửa sổ
con Active
Cửa sổ nằm trên cùng là cửa sổ Active.
Màu của thanh tiêu đề của cửa sổ active giống màu
của thanh tiêu đề của form cha.
Sắp xếp cửa sổ con
TileCascade
Menus (1)
Sub Menu OptionMain Menu Option
Menu bar
Menus (2)
Trong hộp
công cụ Trong ứng dụng
MDI khi thiết kế
Trong hộp
công cụ
Lúc thực thi ứng
dụng
Menu [3]
„Menu là một loại control trong đó người dùng có thể lựa
chọn các mục để thực thi từ một danh sách cho trước.
„ Phân loại
- Menu thả xuống (Drop-Down Menu): là dạng
menu thông dụng nhất.
- Menu bật ra (Pop-Up Menu, ContextMenu): 
thường hiển thị khi ta ấn nút phải chuột.
Dropdown Menu
„ Tạo menu nhờ vào control MainMenu.
„ Các bước tạo menu:
- Tạo menu mới và menu bar. 
- Thêm các mục menu con vào menu đã có. 
- Sửa đổi lại các thuộc tính của menu và các
mục menu. 
- Xử lý sự kiện Click của các mục menu con.
Dropdown Menu - Thí dụ Main Menu
„ MainMenu: hiển thị 1 menu khi ứng dụng
được thực thi. Các menu con của MainMenu gl
Menu.
„ MenuItem: mục cụ thể của 1 Menu xác định.
„ Thuộc tính
- IsParent: True nếu mục menu này là cha của
các mục menu con nào đó.
- MenuItems: tập hợp các mục menu con.
„ Phương thức
- MergeMenu: ghép các mục menu con của 1 
menu xác định vào menu hiện hành.
MenuItem
„ Thuộc tính
- Checked: là True nếu có dấu 9 trước mục
menu con.
- Index: vị trí của menu con trong 1 menu xác
định.
- Shortcut: xác lập phím tắt.
- Parent: tên (Name) của menu cha.
- Text: chuỗi hiển thị trên mục menu.
„ Sự kiện
- Click: Xảy ra khi người dùng Click chọn mục
menu.
Private Sub MenuItem4_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MenuItem4.Click
MessageBox.Show("Bạn chọn File/Save", "Thông báo")
End Sub
Private Sub MenuItem5_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MenuItem5.Click
End
End Sub
Context Menu
„ Là control cho phép người dùng truy cập các mục trên
menu nhờ thao tác nhấp chuột phải.
„ Sau khi ContextMenu được tạo ra, chúng sẽ được gắn
với một control khác nhờ vào thuộc tính ContextMenu
của control đó.
„ TD tạo ContextMenu & thiết lập thuộc tính ContextMenu
của Form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles _
MyBase.Load
Me.ContextMenu = ContextMenu1
End Sub
Tạo Menu bằng mã lệnh
„ Ta có thể thêm hay xóa đi một mục menu (MenuItem) của 1 
menu nào đó nhờ vào các phương thức Add & Remove.
„ TD: Xử lý sự kiện Load của Form bằng đoạn mã lệnh tạo menu:
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles MyBase.Load
Dim myMainMenu As New MainMenu
Dim FileMenu As New MenuItem
Dim NewItem As New MenuItem
Dim OpenItem As New MenuItem
NewItem.Text = "&New"
OpenItem.Text = "&Open..."
FileMenu.Text = "&File"
FileMenu.MenuItems.Add(NewItem)
FileMenu.MenuItems.Add(OpenItem)
myMainMenu.MenuItems.Add(FileMenu)
Me.Menu = myMainMenu
End Sub
„ TD xóa 1 mục menu
Dim kq As New DialogResult
kq = MessageBox.Show("Bạn muốn xóa mục New không?", "Xóa", _
MessageBoxButtons.YesNo)
If kq = DialogResult.Yes Then
FileMenu.MenuItems.RemoveAt(0)
End If
Kết quả thí dụ

File đính kèm:

  • pdfVB.NET - Bài 4_Các Control khác.pdf
Tài liệu liên quan