如何在运行时更改列表框中的选定项目文本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在运行时更改列表框中的选定项目文本?相关的知识,希望对你有一定的参考价值。
我尝试使用这样的代码:
Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles MyBase.Leave
' This way is not working
ListBox1.SelectedItem = TextBox1.Text
' This is not working too
ListBox1.Items(ListBox1.SelectedIndex) = TextBox1.Text
End Sub
表单看起来像这样:
我需要在用户在文本框中输入时更改该列表文本。是否有可能在运行时这样做?
答案
你正在使用表格的离开事件MyBase.Leave
,所以当它发射时,它对你没用。
请尝试使用TextBox的TextChanged事件。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) _
Handles TextBox1.TextChanged
确保检查ListBox中是否实际选择了一个项目:
If ListBox1.SelectedIndex > -1 Then
ListBox1.Items(ListBox1.SelectedIndex) = TextBox1.Text
End If
另一答案
使用双击选择列表框内的行(项)并更改或修改。而不是使用文本框使用ListBox1_MouseDoubleClick
事件
Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
然后在此事件中添加此代码
Dim intIndex As Integer = ListBox1.Items.IndexOf(ListBox1.SelectedItem)
Dim objInputBox As Object = InputBox("Change Item :","Edit", ListBox1.SelectedItem)
If Not objInputBox = Nothing Then
ListBox1.Items.Remove(ListBox1.SelectedItem)
ListBox1.Items.Insert(intIndex, objInputBox)
End If
要么
Dim objInputBox As Object = InputBox("Change Item :","Edit", ListBox1.SelectedItem)
If Not objInputBox = Nothing Then
ListBox1.Items(ListBox1.SelectedIndex) = objInputBox
End If
以上是关于如何在运行时更改列表框中的选定项目文本?的主要内容,如果未能解决你的问题,请参考以下文章