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
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:
- VB.NET - Bài 4_Các Control khác.pdf