Select 基于预定义字符串的 Dropbox 索引
Select Dropbox index based on predefined string
我有一个包含固定数量项目的保管箱,定义为:
"A --- item 1"
"B --- item 2"
"C --- item 3"
我从程序的其他地方得到一个字符串,其中包含项目的第一个字母。例如乙
当加载带有保管箱的表单时,我想预选带有该字母的索引。
我考虑过使用 InStr,但似乎行不通。
With Frm
Dim TmpStr as String = String.Empty
TmpStr = Str.InStr(0,1)
Select Case TmpStr
Case "A"
cbox.SelectedValue = 0
Case "B"
cbox.SelectedValue = 1
Case "C"
cbox.SelectedValue = 2
End Case
End With
要获取字符,您可以使用 TmpStr = Str.Substring(0,1)
获取字符串格式的单个字符或 TmpStr = Str.First()
其中 returns 第一个字母作为字符类型。
然后,正如我在评论中提到的,在您的 select 中,将组合框的 SelectedIndex
属性 设置为相应的索引。
注意:您还需要将 End Case
更改为 End Select
而不是 hard-coded Select Case
,使用 For Loop
查找匹配项,如下所示:
Dim Str As String = "B"
With Frm
For i As Integer = 0 To cbox.Items.Count - 1
If cbox.Items(i).ToString.ToUpper.StartsWith(Str.ToUpper) Then
cbox.SelectedIndex = i
Exit For
End If
Next
End With
我有一个包含固定数量项目的保管箱,定义为:
"A --- item 1"
"B --- item 2"
"C --- item 3"
我从程序的其他地方得到一个字符串,其中包含项目的第一个字母。例如乙 当加载带有保管箱的表单时,我想预选带有该字母的索引。
我考虑过使用 InStr,但似乎行不通。
With Frm
Dim TmpStr as String = String.Empty
TmpStr = Str.InStr(0,1)
Select Case TmpStr
Case "A"
cbox.SelectedValue = 0
Case "B"
cbox.SelectedValue = 1
Case "C"
cbox.SelectedValue = 2
End Case
End With
要获取字符,您可以使用 TmpStr = Str.Substring(0,1)
获取字符串格式的单个字符或 TmpStr = Str.First()
其中 returns 第一个字母作为字符类型。
然后,正如我在评论中提到的,在您的 select 中,将组合框的 SelectedIndex
属性 设置为相应的索引。
注意:您还需要将 End Case
更改为 End Select
而不是 hard-coded Select Case
,使用 For Loop
查找匹配项,如下所示:
Dim Str As String = "B"
With Frm
For i As Integer = 0 To cbox.Items.Count - 1
If cbox.Items(i).ToString.ToUpper.StartsWith(Str.ToUpper) Then
cbox.SelectedIndex = i
Exit For
End If
Next
End With