如何读取列表框的 SelectedItem?
How can I read the SelectedItem of a Listbox?
我正在尝试让 ListBox 中的选定文本显示在列表框中。
我有一个按钮,当我单击该按钮时,将在列表框中显示所选项目的文本。
我已经尝试使用 Listbox.SelectedItem
让列表框在文本框中显示文本:
Listbox1.SelectedItem = Textbox1.Text
当我这样做时,出现错误:
System.NullReferenceException: 'Object variable or With block variable
not set.'
Listbox1.Text=textbox1.text
让我知道它对你有帮助
你的描述有点upside-down.
不清楚是要使用 TextBox
的文本设置 ListBox.SelectedItem
还是要使用列表框的 SelectedItem
的文本设置 TextBox.Text
。
代码说的是一回事,描述是另一回事。您遇到的错误可能是由 null SelectedItem
(您没有选择任何内容)引起的。
但是,如果你想用 ListBox.SelectedItem
文本设置 TextBox.Text
,你可以使用 GetItemText() 方法。此方法有一个优点,如果列表框没有选定的项目(SelectedItem 是 null
(nothing
)),它不会引发异常。
TextBox1.Text = ListBox1.GetItemText(ListBox1.SelectedItem)
相反:
您可以使用 ListBox FindString() and FindStringExact() 方法在控件集合中找到与给定字符串对应的项目。
前者查找 ListBox 中以指定字符串开头的第一项,后者仅匹配整个字符串。
搜索可以从特定索引开始。它不区分大小写。
listBox1.SelectedIndex = listBox1.FindString(textBox1.Text, 0)
' or
listBox1.SelectedIndex = listBox1.FindStringExact(textBox1.Text, 0)
您可以继续搜索,将之前找到的项目的索引指定为起点:
private int lboxSearchIndex = -1;
Private Sub ButtonSearch_Click(sender As Object, e As EventArgs) Handles ButtonSearch.Click
lboxSearchIndex = listBox1.FindString(textBox1.Text, lboxSearchIndex)
listBox1.SelectedIndex = lboxSearchIndex
End Sub
设置 SelectedItem
就像使用 FindStringExact()
方法一样。
只有完全匹配才能设置该项目,但它区分大小写。
我正在尝试让 ListBox 中的选定文本显示在列表框中。
我有一个按钮,当我单击该按钮时,将在列表框中显示所选项目的文本。
我已经尝试使用 Listbox.SelectedItem
让列表框在文本框中显示文本:
Listbox1.SelectedItem = Textbox1.Text
当我这样做时,出现错误:
System.NullReferenceException: 'Object variable or With block variable not set.'
Listbox1.Text=textbox1.text 让我知道它对你有帮助
你的描述有点upside-down.
不清楚是要使用 TextBox
的文本设置 ListBox.SelectedItem
还是要使用列表框的 SelectedItem
的文本设置 TextBox.Text
。
代码说的是一回事,描述是另一回事。您遇到的错误可能是由 null SelectedItem
(您没有选择任何内容)引起的。
但是,如果你想用 ListBox.SelectedItem
文本设置 TextBox.Text
,你可以使用 GetItemText() 方法。此方法有一个优点,如果列表框没有选定的项目(SelectedItem 是 null
(nothing
)),它不会引发异常。
TextBox1.Text = ListBox1.GetItemText(ListBox1.SelectedItem)
相反:
您可以使用 ListBox FindString() and FindStringExact() 方法在控件集合中找到与给定字符串对应的项目。
前者查找 ListBox 中以指定字符串开头的第一项,后者仅匹配整个字符串。
搜索可以从特定索引开始。它不区分大小写。
listBox1.SelectedIndex = listBox1.FindString(textBox1.Text, 0)
' or
listBox1.SelectedIndex = listBox1.FindStringExact(textBox1.Text, 0)
您可以继续搜索,将之前找到的项目的索引指定为起点:
private int lboxSearchIndex = -1;
Private Sub ButtonSearch_Click(sender As Object, e As EventArgs) Handles ButtonSearch.Click
lboxSearchIndex = listBox1.FindString(textBox1.Text, lboxSearchIndex)
listBox1.SelectedIndex = lboxSearchIndex
End Sub
设置 SelectedItem
就像使用 FindStringExact()
方法一样。
只有完全匹配才能设置该项目,但它区分大小写。