Chuyên đề Ngôn ngữ lập trình Visual Basic.NET - Chương 1, 2, 3
Mục tiêu
-Vận dụng bộcông cụlập trình Visual
Basic.NET đểxây dựng ứng dụng (từ đơn
giản đến phức tạp).
-Có khảnăng tìm hiểu sâu hơn các kỹthuật
lập trình Visual Basic.NET nâng cao (hệ
thống, mạng )
(Mặc định giá trị này là False). - CharacterCasing: tự động chuyển đổi dữ liệu nhập của TextBox thành dạng tương ứng (Normal, Upper, Lower). - PasswordChar: Ký tự hiển thị thay thế khi nhập. - Font: Font chữ của TextBox 97 Sự kiện: - KeyPress: Xảy ra khi người dùng nhấn phím có mã Ascii từ bàn phím. Để kiểm chứng ký tự người dùng nhập từ bàn phím người ta sử dụng 1 số hàm Char.IsDigit, Char.IsLetter, Char.IsLetterOrDigit, Char.IsPunctuation , Char.IsLower , Char.IsUpper. TD: Sự kiện KeyPress Private Sub TextBox1_KeyPress (ByVal sender As Object, ByVal e As _ System.Windows.Forms.KeyPressEventArgs) Handles _ TextBox1.KeyPress If Char.IsDigit(e.KeyChar) = True Then MessageBox.Show("You pressed a number key") End If End Sub TEXT BOX 98 Sự kiện Validating: - Xảy ra trước khi TextBox mất kích hoạt, dùng để kiểm tra dữ liệu nhập có hợp lệ hay không? - Chỉ thực hiện khi người lập trình thiết lập thuộc tính CausesValidation của Text Box là True. TD: Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As _ System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating ' Kiểm tra giá trị của TextBox If TextBox1.Text = "" Then ' Bắt buộc TextBox phải nhập lại, TextBox phải được kích hoạt e.Cancel = True End If End Sub TEXT BOX 99 BUTTON Dùng để xác nhận 1 hành động hay thao tác của người dùng. Thuộc tính: - Name: Tên của Button. - Text: Chuỗi hiển thị trên Button. - Image: Hình ảnh trên Button. - FlatStyle: Hình dạng của Button (Flat, Popup, Standard, and System.) - Font: Xác lập Font chữ cho Button. 100 Sự kiện - Click: Xảy ra khi người dùng nhấp chuột vào Button. TD: Tính N! với N nhập từ bản phím. BUTTON Sự kiện Button_Click() Private Sub btnTinh_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnTinh.Click Dim N, i As Integer, K As Long = 1 N = CInt(txtN.Text) For i = 1 To N K = K * i Next lblKQ.Text = CStr(K) End Sub 101 LISTBOXES Sử dụng để hiển thị một danh sách cho người dùng lựa chọn. WinForms hỗ trợ 2 loại list box: - ListBox - CheckedListBox Sự khác biệt chính là những phần tử của CheckedListBox được hiển thị có dấu check trước đó. 102 LISTBOX Thuộc tính - Items: tập các phần tử trong ListBox. - SelectedIndex: xác định chỉ số của mục đang hiện thời được chọn trong ListBox, phần tử đầu tiên có chỉ số 0. - SelectedItems: tập các mục đang được chọn. - SelectedValue: giá trị của mục đang được chọn. - Text: chuỗi trên mục được chọn. Phương thức - ClearSelected: xóa hết các lựa chọn trên ListBox. - FindString: tìm mục đầu tiên trong danh sách mà phần tử đó có giá trị bắt đầu là một chuỗi cho trước. 103 LISTBOX Sự kiện - SelectedIndexChanged: xảy ra khi giá trị của thuộc tính SelectedIndex thay đổi. - SelectedValueChanged: xảy ra khi giá trị của thuộc tính SelectedValue thay đổi. TD: Sử dụng thuộc tính đối tượng Items để thêm các mục vào ListBox. Xử lý sự kiện Load của Form để viết mã lệnh xử lý. 104 LISTBOX Private Sub myForm_Load(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load Me.lstTen.Items.Add("Nguyễn Văn Cường") Me.lstTen.Items.Add("Lâm Quang Hà") Me.lstTen.Items.Add("Trần Trung Trực") Me.lstTen.Items.Add("Lê Quang Trãi") End Sub Ngoài ra thuộc tính đối tượng Items còn có một số thuộc tính & phương thức khác: Count, Clear, Insert, RemoveAt, Item… 105 CHECKEDLISTBOX CheckedListBox cũng hỗ trợ các thuộc tính, phương thức, sự kiện giống như ListBox; bên cạnh đó control này còn có những đặc điểm riêng: Thuộc tính - CheckedIndies: tập các chỉ số của các phần tử được lựa chọn (checked). - CheckedItems: tập hợp các phần tử được chọn (checked). TD: Cho hình bên, ta có: - CheckedIndies={1,2} - CheckedItems={Lâm Quang Hà, Trần Trung Trực} 106 CHECKEDLISTBOX Phương thức - SetItemChecked: thiết lập mục có chỉ số xác định được chọn (checked). - SetItemCheckState: xác lập trạng thái checked của 1 mục xác định. TD: Sử dụng phương thức SetItemCheckState Sự kiện Click của Button Trạng thái Me.lstNuoc.SetItemCheckState(1, _ CheckState.Checked) Me.lstNuoc.SetItemCheckState(2, _ CheckState.Indeterminate) Me.lstNuoc.SetItemCheckState(3, _ CheckState.Unchecked) 107 COMBOBOX Là control kết hợp giữa TextBox & ListBox. Control này hỗ trợ các tính năng như ListBox; tuy nhiên chúng vẫn có phần mở rộng so với ListBox. Thuộc tính - DropDownStyle: kiểu của ComboBox, gồm có Simple, DropDownList & DropDown. Simple DropDown DropDownList 108 LISTVIEW Cho phép hiển thị một danh sách các phần tử ở dạng thức đặc biệt. ListView có 4 kiểu sau: - Text only: mặc định. - Text with small icon. - Text with large icon. - Detail view: các phần tử hiển thị nhiều cột. ListView kế thừa các tính năng của CheckedListBox. Thuộc tính - CheckBoxes: mỗi phần tử trong ds có 1 checkbox đứng trước. - Items: tập các phần tử trong ds. - MultiSelect: ds có nhiều lựa chọn không? 109 LISTVIEW - THÍ DỤ 110 LISTVIEW - THÍ DỤ Dim lsvTen As New ListView lsvTen.Width = 300 lsvTen.Height = 200 ' Hiển thị chi tiết lsvTen.View = View.Details ' Sửa giá trị của Text lsvTen.LabelEdit = True lsvTen.FullRowSelect = True ' Hiển thị lưới lsvTen.GridLines = True Dim item1 As New ListViewItem("Nguyễn Văn An", 0) item1.SubItems.Add("1") item1.SubItems.Add("2") item1.SubItems.Add("3") 111 Dim item2 As New ListViewItem("Lê Chí Công", 1) item2.SubItems.Add("4") item2.SubItems.Add("5") item2.SubItems.Add("6") Dim item3 As New ListViewItem("Huỳnh Văn Hảo", 0) item3.SubItems.Add("7") item3.SubItems.Add("8") item3.SubItems.Add("9") ' Tạo các cột cho các mục lsvTen.Columns.Add("Họ tên", -2, HorizontalAlignment.Left) lsvTen.Columns.Add("Toán", -2, HorizontalAlignment.Left) lsvTen.Columns.Add("Lý", -2, HorizontalAlignment.Left) lsvTen.Columns.Add("Hóa", -2, HorizontalAlignment.Center) ‘ Thêm các mục vào ListView lsvTen.Items.AddRange(New ListViewItem() _ {item1, item2, item3}) 112 TREEVIEW Cho phép hiển thị dữ liệu ở dạng phân cấp. TreeView hỗ trợ hầu hết các thuộc tính, phương thức & sự kiện của ListView. Thuộc tính - ImageList: ds các ảnh được hiển thị ở mỗi nút. - Nodes: ds các nút. - SeletedNode: nút hiện thời được lựa chọn. Phương thức - GetNodeAt: truy xuất 1 nút ở vị trí xác định trong TreeView. - GetNodeCount: tổng số nút. Sự kiện - BeforeSelect, AfterSelect: xảy ra trước/sau khi 1 nút được chọn. - BeforeCollapse, AfterCollapse: xảy ra trước/sau khi thu hẹp 1 nút. - BeforeExpand, AfterExpand: xảy ra trước/sau khi 1 mở rộng 1 nút. 113 TREEVIEW - THÍ DỤ Hiển thị 10 khách hàng, mỗi khách hàng có 5 đơn đặt hàng. Thiết kế các lớp Khách hàng & Đặt hàng. Tạo TreeView như hình 114 Public Class Customer Public CustomerName As String Public CustomerOrder As _ ArrayList Public Sub New(ByVal Name _ As String) CustomerName = Name CustomerOrder = New _ ArrayList(0) End Sub End Class Public Class Orders Public OrderID As String Public Sub New(ByVal _ id As String) OrderID = id End Sub End Class Sự kiện Load của Form được xử lý Dim customerArray As New ArrayList ' Thêm khách hàng Dim x As Integer For x = 0 To 9 customerArray.Add(New Customer("Customer " + x.ToString())) Next x 115 ‘ Thêm đơn đặt hàng Dim customer1 As Customer For Each customer1 In customerArray Dim y As Integer For y = 0 To 4 customer1.CustomerOrder.Add(New Orders("Order" + y.ToString())) Next y Next customer1 ' Xóa TreeView TreeView1.Nodes.Clear() ' Tạo các nút cha là các khách hàng For Each customer1 In customerArray TreeView1.Nodes.Add(New TreeNode(customer1.CustomerName)) ' Các nút con là các đơn đặt hàng Dim order1 As Orders For Each order1 In customer1.CustomerOrder TreeView1.Nodes(customerArray.IndexOf(customer1)).Nodes.Add( _ New TreeNode(customer1.CustomerName + ".“ + order1.OrderID)) Next order1 Next customer1 116 CHECKEDBOX Được sử dụng để nhận thông tin dạng Yes/No. Thuộc tính - Checked: Xác định control đang ở trạng thái nào (True/False). Sự kiện - CheckedChanged: Xảy ra khi giá trị của thuộc tính Checked bị thay đổi. Private Sub chkDam_CheckedChanged(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles chkDam.CheckedChanged If Me.chkDam.Checked Then Me.txtTen.Font = New Font("Arial", 9.0!, _ System.Drawing.FontStyle.Bold) Else Me.txtTen.Font = New Font("Arial", 9.0!, _ System.Drawing.FontStyle.Regular) End If End Sub 117 RADIO BUTTON - Là control cho phép nhận dữ liệu Yes/No, nhưng các radio button cùng 1 nhóm thì không thể chọn đồng thời. - Các thuộc tính, phương thức, sự kiện tương tự CheckBox. 118 GROUPBOX Là control được dùng để nhóm các điều khiển khác. Thuộc tính: - Text: Chuỗi trên tiêu đề của GroupBox. TD (hình bên) 119 PICTURE BOX Được sử dụng để hiển thị hình ảnh. Thuộc tính - Image: Xác định hình ảnh cần hiển thị. - SizeMode: xác định cách thức ảnh được hiển thị (AutoSize, CenterImage, Normal, StretchImage) Sự kiện - SizeModeChange: xảy ra khi thuộc tính SizeMode thay đổi giá trị. 120 IMAGELIST Dùng để lưu các hình ảnh và cho phép chúng hiển thị ở các control khác nhau. Thuộc tính - Images: tập hợp các ảnh của ImageList. - ImageSize: kích thước của các ảnh có trong ImageList. Phương thức - Draw: vẽ một ảnh xác định. 121 TIMER Là control đáp ứng lại sự trôi đi của thời gian. Thuộc tính - Enabled: cho phép control thời gian thực thi. - Interval: Khoảng thời gian giữa 2 sự kiện. Phương thức - Start: khởi động control thời gian. - Stop: ngưng control thời gian. Sự kiện - Tick: Xảy ra sau 1 khoảng thời gian được chỉ trong Interval 122 TIMER - Thí dụ Thiết kế ứng dụng cho phép hiển thị đồng hồ số. Thuộc tính: Enable = True Interval=1000 Xử lý sự kiện Tick Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timer1.Tick Me.lblTG.Text = CStr(Now) ‘ Now: hàm lấy thời gian End Sub
File đính kèm:
- Chuyên đề Ngôn ngữ lập trình Visual Basic.NET - Chương 1, 2, 3.pdf