【问题标题】:Enter key clears content of TextboxEnter 键清除文本框的内容
【发布时间】:2016-02-15 15:22:45
【问题描述】:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress

    If Asc(e.KeyChar) = Keys.Enter Then
        TextBox2.Focus()
    End If

End Sub

上面的代码是我在 textbox1 有值后移动到另一个文本框的代码或者我应该说一旦我在 textbox1 中输入一个值并使用回车键它应该移动到 TextBox2 但是当你使用回车键时它发生了, textbox1 的值已被清除。我的文本框工具在 MultiLine 中,这就是它总是发生的原因。

【问题讨论】:

  • 您应该使用描述您遇到的问题的标题,而不是邀请人们对您的帖子投反对票的标题。
  • 您发布的代码没有清除任何内容。问题出在其他地方。在本网站上,代码示例使用四个空格缩进。
  • TextBox.AcceptReturns property 注意,作为程序员,需要自己进行一些搜索
  • 为什么不像世界其他地方一样坚持使用制表符?也就是说,在调用 Focus 之后尝试输入 e.Handled = True。
  • 我在发布问题后完成了它。大声笑由于多行文本框而发生错误。很抱歉打扰你们了。

标签: vb.net winforms


【解决方案1】:

尝试使用KeyDown,而不是使用KeyPress 事件,并在TextBox1_KeyDown 的代码中输入以下内容

If e.Keys = Keys.Enter
    TextBox_2.Focus()
    e.Handled = true
End If

【讨论】:

  • 感谢布莱克伍德编辑我的答案。我欠你一个。
  • 我在发布问题后完成了它。大声笑由于多行文本框而发生错误。
  • 干得好!您可能希望将其发布为解决方案,以防其他人检查此问题
  • 哇,上面的代码是对的。当我将其设置为“MultiLine”时,由于文本框的属性,它只会出现错误。
  • 如果您标记了答案(通过单击对勾),那就太好了,这样任何可能偶然发现此问题的人都可以轻松识别解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多