我正在制作简单的应用程序。有一个文本框和一个ListBox。当用户在文本框中键入内容时,该文本会在某些验证过程后按空格分割添加到ListBox。我做完了。这是我的代码。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
'split by space
Dim arrText() As String = Split(TextBox1.Text, " ")
ListBox1.Items.Clear()
'ValidateText is a function
For i = 0 To UBound(arrText)
ListBox1.Items.Add(ValidateText(arrText(i)))
Next i
End Sub
但我想升级它,因为验证过程需要更多时间。当用户在文本框中键入内容时,需要执行相同的过程,但仅针对新键入的文本。 (从光标位置向前到文本末尾)已经验证的文本不需要再次验证。我想有人可以提供帮助。
注意:用户也可以复制&粘贴文本框中的单词
提前感谢
答案 0 :(得分:0)
我已经找到了一个解决方案,感谢lapheal msdn论坛成员
Private validatedDic As New Dictionary(Of String, String) 'or Dictionary(Of String, Object)?
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
'split by space
Dim arrText() As String = Split(TextBox3.Text, " ")
ListBox1.Items.Clear()
'ValidateText is a function
For i = 0 To UBound(arrText)
Dim text As String = String.Empty
If Not validatedDic.TryGetValue(arrText(i), text) Then
text = ValidateText(arrText(i))
validatedDic(arrText(i)) = text
End If
ListBox1.Items.Add(text)
Next i
End Sub