我必须开发一个应用程序,在这个应用程序中,我必须将客户的数据(如name,fathername, address
)存储在对象数组中。
在文本框中写入之后,客户名称也应该存储在组合框中,之后应该生成针对该名称的组合框数据中的选择名称?
Public Class Customer
Public Sub btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_add.Click
Dim obj(5) As Object
obj(0) = txt_name.Text
obj(1) = txt_fname.Text
obj(2) = txt_dob.Text
obj(3) = txt_address.Text
obj(4) = txt_nic.Text
cmb_list.Items.Add(obj(0))
cmb_list.ItemData(cmb_list.SelectedIndex) = 60
txt_name.Text = ""
End Sub
Private Sub cmb_list_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_list.SelectedIndexChanged
Dim a As String
a = cmb_list.Text
TextBox1.Text = a
End Sub
End Class
我这样做了,需要帮助才能继续。
答案 0 :(得分:1)
我可以问为什么你需要使用这样的对象数组?我认为如果你创建了一个Customer类,这样会更容易(对于VS 2010,在2008年看起来会有所不同):
Public Class Customer
Public Property Name as String
Public Property FName as String
Public Property Address as String
Public Property DOB as String
Public Property Nic as String
End Class
您的表单将如下所示:
Public Class CustomerForm
Public Sub btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_add.Click
Dim customers as new List(of Customer)
Dim c as new Customer
c.Name = txt_name.Text
c.FName = txt_fname.Text
c.DOB = txt_dob.Text
c.Address = txt_address.Text
c.Nic = txt_nic.Text
customers.Add(c)
cmb_list.DisplayMember = "FName"
cmb_list.DataSource = customers
End Sub
Private Sub cmb_list_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_list.SelectedIndexChanged
Dim c As Customer
c = cmb_list.SelectedItem
TextBox1.Text = c.FName
End Sub
End Class
这样做是创建一个Customer对象列表,将一个客户放入列表中,然后使用该列表填充下拉框。当你选择一个时,它会让特定的客户退出,并获得他们的名字。
因此,您可以通过将更多列表添加到客户列表中然后再将其绑定来使列表更长(拥有更多客户)。
答案 1 :(得分:0)
(1)将客户的数据存储在Class Customer的实例中。
(2)将所有客户的数据存储在客户类型的列表或数组中。
(3)使用文本框(而不是组合)创建包含数据的Customer实例。
(4)在组合框中显示(不存储)客户名称,以及文本框中的其他信息。
(5)使用组合选择和文本框修改客户信息。