当前位置: 代码迷 >> VB Dotnet >> 关于ListBox1提取的有关问题,为何提请不出来?数据的有关问题? 新手求教!多谢了
  详细解决方案

关于ListBox1提取的有关问题,为何提请不出来?数据的有关问题? 新手求教!多谢了

热度:207   发布时间:2016-04-25 02:20:07.0
关于ListBox1提取的问题,为何提请不出来?数据的问题? 新手求教!谢谢了
Dim s As String() = ListBox1.SelectedItem.ToString().Split(" ")
        TextBox1.Text = s(0)

当我把文本的内容一行行的添加到 ListBox1  里面去     上面代码有效果
但当我把文本的内容一次性全部添加到 ListBox1  里面去     上面代码就没有效果

      Dim str As IO.StreamReader = New IO.StreamReader("F:\记录.ini", System.Text.Encoding.Default)
        Dim ts As String() = str.ReadToEnd.Split(Chr(10))  '如果chr(10)不行可以换chr(13)
        ListBox1.Items.AddRange(ts)
        str.Close()
我这个代码怎么改  或者说上面那个代码怎么改?


新手求解惑!
我自己想了半天感觉是数据的问题,但又不知道怎么入手.. ...
------解决方案--------------------
楼主的代码应该是没有错的,我刚刚试了一下,应该是分隔符的问题,你尝试一下改变本文的分隔符为TAB试试!
------解决方案--------------------

        Dim str As IO.StreamReader = New IO.StreamReader("F:\记录.ini", System.Text.Encoding.Default)
        Dim ts As String() = str.ReadToEnd.Split(Chr(10))  '如果chr(10)不行可以换chr(13)
        ListBox1.Items.AddRange(ts)
        str.Close()

以上代码没有错.

        Dim s As String() = ListBox1.SelectedItem.ToString().Split(" ")'行中怎么有空格?
        TextBox1.Text = s(0)


另一建议,可实现项目显示文本和实际值的分离

    Public Class Item
        Public Sub New(text As String, value As String)
            Me.Text = text
            Me.Value = value
        End Sub
        Public Property Text As String
        Public Property Value As String
        Public Overrides Function ToString() As String
            Return Text
        End Function
    End Class

        _listbox.Items.Add(New Item("项目1", "value1"))
        Dim value As String = _listbox.SelectedItem.value



------解决方案--------------------
很可能你的ini配置文件些问题,如果ini一行后面只有换行回车符,你的代码就没有问题,担心有其它字符在里面,重新编辑一下ini文件