level 5
toddmark
楼主
最近我自学vb.net,虽然入门。但是对于代码还没有一个全局的认识。甚至不知道代码的书写逻辑,尤其是做了下面的例子后。我发现,好多与Publis有关的代码部分,顺序可以调换,而且仍然运行正常。下面的这个例子,是我最近这几天的学习情况。代码的每个部分我都模糊的理解一二,但是把这些放到一块。我就完全不要之所云了。我也不知道接下来该怎么进行学习。因为,我突然觉得好乱。尤其是这里面讲到得结构和**的问题。好多名词还没有概念,比如:item属性,内容显示在字段中?这些种种,下面的代码如果各位看着很乱就不要费神了。就关于vb.net指点一下对于整个代码的认识该怎么学习或者理解就行?谢谢了,我真力不从心!
以下是代码:
—————————————————————————————————————————
Public Class Demo
Inherits System.Windows.Forms.Form
Private _customers As New customercollection()
Public Class customercollection
Inherits System.Collections.CollectionBase
Default Public Property item(ByVal index As Integer) As Customer
Get
Return Me.List.Item(index)
End Get
Set(ByVal value As Customer)
Me.List.Item(index) = value
End Set
End Property
Public Sub add(ByVal newcustomer As Customer)
Me.List.Add(newcustomer)
End Sub
Public Sub remove(ByVal removecustomer As Customer)
Me.List.Remove(removecustomer)
End Sub
End Class
Public Structure Customer
Public Firstname As String
Public Lastname As String
Public Email As String
Public Function lsempty() As Boolean
If Firstname = "" Then
Return True
Else
Return False
End If
End Function
Public ReadOnly Property Name() As String
Get
Return Firstname & " " & Lastname
End Get
End Property
Public Overrides Function tostring() As String
Return Name & " (" & Email & ")"
End Function
End Structure
Public Function CreateCustomer(ByVal firstname As String, ByVal lastname As String, ByVal email As String) As Customer
Dim newCustomer As Customer
newCustomer.Firstname = firstname
newCustomer.Lastname = lastname
newCustomer.Email = email
_customers.Add(newCustomer)
lstCustomers.Items.Add(newCustomer)
Return newCustomer
End Function
Public Sub DisplayCustomer(ByVal customer As Customer)
txtName.Text = customer.Name
txtFirstName.Text = customer.Firstname
txtLastName.Text = customer.Lastname
txtEmailName.Text = customer.Email
End Sub
Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
CreateCustomer("Amir", "Aliabdi", "[email protected]")
CreateCustomer("todd", "mark", "[email protected]")
CreateCustomer("ling", "er", "[email protected]")
End Sub
Public ReadOnly Property Selectedcustomer() As Customer Get If lstCustomers.SelectedIndex <> -1 Then
Return _customers(lstCustomers.SelectedIndex)
End If
End Get
End Property
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles lstCustomers.SelectedIndexChanged
DisplayCustomer(Selectedcustomer)
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ btnDelete.Click
If Selectedcustomer.lsempty = False Then
If MessageBox.Show("Are you sure you want to delete " & Selectedcustomer.Name & "?", "Structure Demo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) _
= DialogResult.Yes Then
Dim deleteCustomer As Customer = Selectedcustomer
_customers.remove(deleteCustomer)
lstCustomers.Items.Remove(deleteCustomer)
End If
Else
MessageBox.Show("You must select a customer", "Structure Demo")
End If
End Sub
End Clasee
2012年07月29日 09点07分
1
以下是代码:
—————————————————————————————————————————
Public Class Demo
Inherits System.Windows.Forms.Form
Private _customers As New customercollection()
Public Class customercollection
Inherits System.Collections.CollectionBase
Default Public Property item(ByVal index As Integer) As Customer
Get
Return Me.List.Item(index)
End Get
Set(ByVal value As Customer)
Me.List.Item(index) = value
End Set
End Property
Public Sub add(ByVal newcustomer As Customer)
Me.List.Add(newcustomer)
End Sub
Public Sub remove(ByVal removecustomer As Customer)
Me.List.Remove(removecustomer)
End Sub
End Class
Public Structure Customer
Public Firstname As String
Public Lastname As String
Public Email As String
Public Function lsempty() As Boolean
If Firstname = "" Then
Return True
Else
Return False
End If
End Function
Public ReadOnly Property Name() As String
Get
Return Firstname & " " & Lastname
End Get
End Property
Public Overrides Function tostring() As String
Return Name & " (" & Email & ")"
End Function
End Structure
Public Function CreateCustomer(ByVal firstname As String, ByVal lastname As String, ByVal email As String) As Customer
Dim newCustomer As Customer
newCustomer.Firstname = firstname
newCustomer.Lastname = lastname
newCustomer.Email = email
_customers.Add(newCustomer)
lstCustomers.Items.Add(newCustomer)
Return newCustomer
End Function
Public Sub DisplayCustomer(ByVal customer As Customer)
txtName.Text = customer.Name
txtFirstName.Text = customer.Firstname
txtLastName.Text = customer.Lastname
txtEmailName.Text = customer.Email
End Sub
Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
CreateCustomer("Amir", "Aliabdi", "[email protected]")
CreateCustomer("todd", "mark", "[email protected]")
CreateCustomer("ling", "er", "[email protected]")
End Sub
Public ReadOnly Property Selectedcustomer() As Customer Get If lstCustomers.SelectedIndex <> -1 Then
Return _customers(lstCustomers.SelectedIndex)
End If
End Get
End Property
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles lstCustomers.SelectedIndexChanged
DisplayCustomer(Selectedcustomer)
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ btnDelete.Click
If Selectedcustomer.lsempty = False Then
If MessageBox.Show("Are you sure you want to delete " & Selectedcustomer.Name & "?", "Structure Demo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) _
= DialogResult.Yes Then
Dim deleteCustomer As Customer = Selectedcustomer
_customers.remove(deleteCustomer)
lstCustomers.Items.Remove(deleteCustomer)
End If
Else
MessageBox.Show("You must select a customer", "Structure Demo")
End If
End Sub
End Clasee