【问题标题】:VB.NET simulate button click and how do I return it to normal?VB.NET模拟按钮点击,如何恢复正常?
【发布时间】:2018-06-22 23:00:09
【问题描述】:

我对这段代码有困难,我解释一下: 我创建了一个文本框,当我按下回车键时,它会模拟单击按钮。

Sub TextBox1KeyDown(sender As Object, e As KeyEventArgs)
    If e.KeyCode = Keys.Enter Then
        'simulate to press Button
        Button1Click(sender,New EventArgs)
    Else
        'code to return to normal
    End If
End Sub

它工作正常,但我如何让它恢复正常?我的意思是,当我点击按钮时,它没有反应。 出现此问题,请等待您的帮助

【问题讨论】:

  • 您是否订阅了事件处理程序来点击事件。 AddHandler Button1.Click, AddressOf Button1Click 或在声明 Button1Click 方法时有 Handles Button1.Click
  • 你好,我不明白你的问题,事实是我没有添加你所说的内容。我应该在哪里放置处理程序事件,在原始按钮上,或者我在哪里调用?

标签: vb.net button keycode simulate


【解决方案1】:

调用事件过程通常不是一个好主意。将您的代码从 Button1.Click 移动到一个单独的子,然后从两个地方调用它。

    Private Sub TextBox1_KeyDown_1(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Enter Then
            'simulate to press Button
            MyButtonSub()
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MyButtonSub()
    End Sub

    Private Sub MyButtonSub()
        MessageBox.Show("Button One was clicked or pretend clicked.")
    End Sub

【讨论】:

  • in Private Sub MyButtonSub() ---> 粘贴原始按钮的代码?
  • 是的。然后 MyButtonSub() 被文本框中的按钮和按键调用。
  • 在放置 Handles textBox1.KeyDown 时,出现以下错误,Handles 子句需要在容器类型或其基类型之一中定义的 WithEvents 变量。 (BC30506),你知道为什么吗?
  • 你的文本框叫什么​​名字?
  • 名字是textBox1
猜你喜欢
  • 2020-04-27
  • 2019-01-27
  • 2012-04-18
  • 1970-01-01
  • 2016-02-10
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 2011-06-28
相关资源
最近更新 更多