我有一个列表框,我将项目加载到。每行以HH:mm:ss格式开始。我想要一个按钮,使得点击它时,列表框所选项目将导航到以特定时间开始的行,由用户输入到文本框中。其次,我有一个文本框,使用 selecteditem.text.tostring.substring(0,5)复制selecteditem的前5个字符。现在,我需要捕获所选项目右下方的前5个字符。谢谢你的帮助。
答案 0 :(得分:0)
ListBox1.SelectedIndex = 2
0等于第一行
1等于第二行
2等于第三行
像那样结束
或者您可以在下面添加-1,如下所示
ListBox1.SelectedIndex = 2 - 1
所以你可以选择实际的第二行
答案 1 :(得分:0)
使用ListBox的FindString()
方法,您可以找到以指定字符串开头的第一个项目的索引。然后,您可以使用它来设置SelectedIndex
属性,该属性将选择指定索引处的项目。
要获得当前所选项目之下的项目,您只需从SelectedIndex + 1
集合中获取Items
。
Public Sub DoSomething()
Dim Index As Integer = ListBox1.FindString(TextBox1.Text) 'Find the index of the item starting with whatever is in TextBox1.
If Index > -1 Then 'Check if the item exists/was found.
ListBox1.SelectedIndex = Index
TextBox2.Text = ListBox1.Items(Index).ToString().Substring(0, 5)
If Index < ListBox1.Items.Count - 1 Then 'Check if the found item is the last item or not.
TextBox3.Text = ListBox1.Items(Index + 1).ToString().SubString(0, 5)
Else 'This was the last item.
MessageBox.Show("You've reached the end of the list.", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Else 'No item was found.
MessageBox.Show("No item found starting with the specified text!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub