【问题标题】:VB.NET SetFocus Equivalent for Enter Button?VB.NET SetFocus 等效于 Enter 按钮?
【发布时间】:2013-07-08 12:07:14
【问题描述】:

我有一个名为 clientFirst 的文本框,如果在此文本框中输入完后按 Enter,我希望 Enter 按钮代表对 btnAdd 的单击。我怎样才能做到这一点?

Protected Sub btnAdd_Click(sender As Object, e As ImageClickEventArgs) Handles btnAdd.Click
    'Do something       
End Sub

没有太多代码可以发布,真的。 :( 但有人建议我使用 Chase Ernst 的 KeyDown 函数,这似乎是一个绝妙的主意,只是它一直告诉我它的一部分是未定义的。这是我被建议的代码:

Private Sub clientFirst_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles clientFirst.KeyDown
    If e.KeyCode = Keys.Enter Then
        btnAdd.PerformClick()
    End If
End Sub

它一直告诉我System.Windows.Forms.KeyEventArgs 未定义。我猜我必须在顶部定义一个Imports 类?试过System.WindowsSystem.ObjectSystem.Windows.FormsSystem.KeyEventArgs,没有任何效果!

提前感谢您! x

【问题讨论】:

  • ASP.NET 还是 Windows 窗体?
  • ASP.NET,请。建立一个网站,已经在线托管。 :)
  • 所以Button1.PerformClick() 和所有System 方法都不起作用?
  • @ChaseErnst 是的。 PerformClick is not a member of 'System.Web.UI.WebControls.Button'Type 'System.Windows.Forms.KeyEventArgs' is not defined.
  • 我相信这是因为它是一个网络应用程序,我只是在研究解决这个问题的正确方法。

标签: vb.net focus enter setfocus


【解决方案1】:

我会使用这样的东西:

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    If e.KeyCode = Keys.Enter Then
        Button1.PerformClick()
    End If
End Sub

如果按下的键是回车键,则Button1.PerformClick() 将触发。

【讨论】:

  • 感谢十亿! :) 我现在就试一试,然后告诉你进展如何。
  • 好的,如果有效,请花点时间投票并作为正确答案。
  • 忽略预编辑素材,我好像不能调用Button1子程序,已经定义为Button1_Click,有两个参数。
  • 你能发布代码吗?我相信当你按下回车键时。 Button1.PerformClick() 将为您的按钮启动子例程。
  • 是的,我会发布代码,但它有点乱。一分钟,我将编辑主帖。
【解决方案2】:

简单的方法是在表单上使用HTMLForm.DefaltButton 属性。

 Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
     Page.Form.DefaultButton = "TextBox1"
 End Sub

【讨论】:

  • 谢谢,真的 :) 但这不是我的意思。我的意思是我需要网站检测 Enter 键并对其做出反应。
  • 忽略我之前的评论,@Ceres!完美运行,我误读了代码并自己误解了它!!!!
猜你喜欢
  • 2019-02-22
  • 2012-02-04
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 2014-02-15
  • 2014-08-03
  • 2011-05-07
相关资源
最近更新 更多