Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与vb.net相关的问题:我需要代码方面的帮助_Vb.net - Fatal编程技术网

与vb.net相关的问题:我需要代码方面的帮助

与vb.net相关的问题:我需要代码方面的帮助,vb.net,Vb.net,我必须开发一个应用程序,在该应用程序中,我必须在对象数组中存储客户的数据,如姓名、父亲姓名、地址等 在文本框中写入后,客户名称也应存储在组合框中,然后从组合框中选择名称,并根据该名称生成数据 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 Ob

我必须开发一个应用程序,在该应用程序中,我必须在对象数组中存储客户的数据,如
姓名、父亲姓名、地址等

在文本框中写入后,客户名称也应存储在组合框中,然后从组合框中选择名称,并根据该名称生成数据

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

我只做了这些,需要帮助才能继续。

我可以问一下为什么需要使用这样的对象数组吗?我认为,如果您创建了一个客户类(对于VS 2010,在2008年必须看起来有点不同),那么这将容易得多:

您的表单将如下所示:

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
这样做的目的是创建客户对象列表,将客户放入列表中,然后使用该列表填充下拉框。当你选择一个,它会让特定的客户退出,并得到他们的名字

因此,通过将更多客户添加到客户列表中,然后再次绑定,可以使列表变长(拥有更多客户)。

(1)将客户的数据存储在customer类的实例中

(2) 将所有客户的数据存储在客户类型的列表或数组中

(3) 使用文本框(而不是组合框)中的数据创建客户实例

(4) 在组合框中显示(而不是存储)客户名称,在文本框中显示其他信息


(5) 使用组合选择和文本框修改客户信息

当从下拉列表中选择该名称时,之前针对该名称(如父名称)输入的所有数据,地址也应以并行形式显示。这没问题,您只需在TextBox1.Text=c.FName之后为要填充的每个内容添加额外的行。比如Textbox2.Text=c.Name等等。
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