VB.NET 文本框上的键捕获以运行不同的 SUB

  • 本文关键字:运行 SUB 文本 NET VB vb.net
  • 更新时间 :
  • 英文 :


我想做的是当用户在文本框中输入值并按ENTER,等待ENTER*之间的另一个输入。 如果他输入ENTER做某事,如果他输入*做其他事情。

文本输入>ENTER键>ENTER键>SUB1()

文本输入>ENTER键>*键>SUB2()

我无法以最佳方式执行此操作。

谢谢

不是~相当~确定我正在关注,但也许像下面这样的东西会让你到达你需要的地方。

Label1 让用户在按回车键时知道他们键入的内容是有效还是无效。 如果有效并再次点击 enter,则将其添加到 ListBox1(在您的情况下为网格)。 一旦输入,如果他们点击",那么它将进入"编辑"模式。 如果他们键入其他任何内容,则所有内容都将重置,键入">"将无助于任何操作。

Private EntryAdded As Boolean = False
Private ValidEntryMade As Boolean = False
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Label1.Text = ""
ValidEntryMade = False
End Sub
Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
If e.KeyCode = Keys.Enter Then
If Not ValidEntryMade Then
ValidEntryMade = IsValid(TextBox1.Text)
Label1.Text = If(ValidEntryMade, "Valid", "Invalid")
Else
ListBox1.Items.Add(TextBox1.Text)
TextBox1.Clear()
ValidEntryMade = False
EntryAdded = True
End If
End If
End Sub
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If EntryAdded AndAlso e.KeyChar = "*" Then
e.Handled = True
TextBox1.Clear()
MessageBox.Show("Editing")
End If
EntryAdded = False
End Sub
Private Function IsValid(ByVal entry As String) As Boolean
' ... however you do this ...
Return (entry.Length = 6)
End Function

最新更新