按键后VB.Net获取文本

时间:2014-06-19 14:05:02

标签: vb.net

我正在对textbox keypress事件运行一些自定义验证。

当用户按下某个键时,我想找出该特定按键后存在的文本。

EG。如果文本框当前包含12.4并且用户按下" 6"关键我想知道之后的文本是什么。我尝试将e.KeyChar附加到textbox.text的末尾,但如果用户突出显示文本框的某些部分然后按某个键,则会出现问题。

无论如何都要检测按下按键后存在的实际值?

1 个答案:

答案 0 :(得分:1)

您必须根据当前插入位置反汇编当前文本,检查传入文本,然后重新组合文本:

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) _
                                                Handles TextBox1.KeyPress
  Dim part1 As String = TextBox1.Text.Substring(0, TextBox1.SelectionStart)
  Dim part2 As String = TextBox1.Text.Substring(TextBox1.SelectionStart + _
                                                TextBox1.SelectionLength)
  Dim character As String = String.Empty
  If Char.IsDigit(e.KeyChar) Then
    character = e.KeyChar.ToString
    Dim result As String = part1 & character & part2
    'Do something with result...
  Else
    e.Handled = True
  End If
End Sub