【问题标题】:Send enter key in VB.net在 VB.net 中发送回车键
【发布时间】:2020-11-20 08:02:56
【问题描述】:

我想在 vb.net 中创建一个宏,但唯一的问题是我添加了一个函数来在代码中的任何位置发送回车键,我不知道如何在代码中执行它。 执行它的代码是:SendKeys.Send(RichTextBox1.Text) 我也尝试过 sleep 然后输入和填充或使用 Ctrl+M 但它不起作用我也尝试拆分代码但没有任何效果请帮助我。

【问题讨论】:

  • 你能添加你到目前为止尝试过的代码吗
  • 如果您在我的回答中查看以下内容,我会这样做

标签: .net vb.net sendkeys enter


【解决方案1】:

发送您需要的回车键:

 SendKeys.Send("{ENTER}")

这里有更多信息: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys.send?view=netframework-4.6

有延迟:

Private Sub SendKeyWithDelay(millisecByNow As Integer, keyString As String)
    Try

        Dim t As Timer = New Timer With {
            .Interval = millisecByNow
        }
        AddHandler t.Tick, Sub(tmr As Object, e As EventArgs)

                               CType(tmr, Timer).Stop()
                               CType(tmr, Timer).Dispose()

                               SendKeys.Send(keyString)

                           End Sub

        t.Start()
    Catch ex As Exception
        'log here
    End Try
End Sub

用法:

 SendKeyWithDelay(500, "{ENTER}")

【讨论】:

  • 为什么需要这个延迟?如果你在VB上有什么区别? C#或者VB这个方法都是一样的
【解决方案2】:

我把代码改成

Private Sub SendKeyWithDelay(sleeptime As Integer, text As String)
    Dim out() As String
    out = text.Split(" ")
    For i = 0 To out.Length - 1 Thread.Sleep(sleeptime) 
        SendKeys.Send(out(i))
    Next 
End Sub

完美运行现在对我来说非常感谢您的帮助!我希望如果有人看到这个有同样的问题,他们会读到这个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多