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文件