Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 使用Datatable和Listbox将变量传递到新表单_Vb.net - Fatal编程技术网

Vb.net 使用Datatable和Listbox将变量传递到新表单

Vb.net 使用Datatable和Listbox将变量传递到新表单,vb.net,Vb.net,我目前正在尝试编写一个类似地址簿的应用程序。Listbox工作正常,它正确地显示所有内容。但我需要将所选列表框项的id传递给另一个表单。我在Form2中得到了如下代码: Private myTable As New DataTable() Public Sub LoadXml(sender As Object, e As EventArgs) Handles Me.Load With myTable.Columns .Add("DisplayValue", GetTyp

我目前正在尝试编写一个类似地址簿的应用程序。Listbox工作正常,它正确地显示所有内容。但我需要将所选列表框项的id传递给另一个表单。我在Form2中得到了如下代码:

Private myTable As New DataTable()
Public Sub LoadXml(sender As Object, e As EventArgs) Handles Me.Load

    With myTable.Columns
        .Add("DisplayValue", GetType(String))
        .Add("HiddenValue", GetType(Integer))
    End With
    myTable.DefaultView.Sort = "DisplayValue ASC"

    ListBox1.DisplayMember = "DisplayValue"
    ListBox1.ValueMember = "HiddenValue"
    ListBox1.DataSource = myTable
    Dim doc As New Xml.XmlDocument
    doc.Load("c:\address.xml")
    Dim xmlName As Xml.XmlNodeList = doc.GetElementsByTagName("name")
    Dim xmlSurname As Xml.XmlNodeList = doc.GetElementsByTagName("surname")
    Dim xmlId As Xml.XmlNodeList = doc.GetElementsByTagName("id")
    For i As Integer = 0 To xmlName.Count - 1
        Dim nazwa As String = xmlName(i).FirstChild.Value + " " + xmlSurname(i).FirstChild.Value
        myTable.Rows.Add(nazwa, xmlId(i).FirstChild.Value)
        MsgBox(myTable.Rows(i).Item(1).ToString)
    Next i
    ListBox1.Sorted = True
End Sub
在代码的后面,我有一个事件:

Public Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick

End Sub

我想知道如何从DataTable中调用所选listbox项的id。我希望你能理解我的意思,因为我的英语并不完美:)

因为你已经将XML值
id
添加到数据表列
HiddenValue
,并且你已经将
HiddenValue
指定为列表框的
ValueMember
,一旦在列表框中选择了一条记录,id将在列表框的
[SelectedValue][1]
成员中可用。例如:

Public Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick
    MsgBox("Selected Id: " & ListBox1.SelectedValue.ToString())
End Sub

您是否尝试过使用全局变量来保存所需内容,然后引用它?另外,如果您声明了一个列,则可以通过引用“选定列”值来获取该值。。。