[英]How to make an Auto Typer in VB, but instead of just putting a block of text, how to type it letter by letter?
我現在正在制作一個自動打字機,但是我發現當我這樣做時,該程序只是從文本框中獲取文本,然后將其粘貼。相反,我想要一個逐個字母地單詞。 有什么幫助嗎? 這是我的代碼:
Public Class Form1
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
Me.Close()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
SendKeys.Send(BunifuMaterialTextbox2.Text)
SendKeys.Send("{Enter}")
End Sub
末級
有什么幫助嗎?
實際上與具體問題無關,但是這是另一種無需手動創建Timer
或使用SendKeys
即可打印字母的方法。 可能以更具可讀性/可維護的方式
private async Task TypeWord(string word, int interval)
{
var builder = new StringBuilder();
foreach (var letter in word)
{
builder.Append(letter);
txtTypingTarget.Text = builder.ToString();
await Task.Delay(interval);
}
}
然后您可以調用它,例如單擊按鈕
private async void btnStartTyping_Click(object sender, EventArgs e)
{
await TypeWord(txtTypingOrigin.Text, 500);
}
嘗試遍歷字符串中的每個字符,並將每個字符傳遞給SendKeys.Send
:
For Each ch As Char in str
SendKeys.Send(ch)
Next
For Each
循環使用
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
For Each c as Char In BunifuMaterialTextbox2.Text
SendKeys.Send(c)
SendKeys.Send("{Enter}")
Next
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.