程式模擬按鍵,SendKeys傳送空格

2022-02-08 02:58:29 字數 824 閱讀 7473

做了乙個小程式,用按鈕來模擬數字的輸入,如下圖

將10個按鈕放在乙個panel1中,名稱分別是button1,button2,後面依次類推

下面的文字框名稱為textbox1

想要解決的問題:當點選乙個按鈕時,就如同使用者輸入了乙個數字,並在其後打了乙個空格,比如我點選一下8,相當於在textbox1中輸入了8,然後再跟乙個空格.

分析:為panel1中的每乙個按鈕增加乙個點選事件,並將按鈕自身的文字賦值給textbox1,然後使用sendkeys傳送乙個空格.

中文msdn上查了一下,發現並沒有sendkeys傳送空格的辦法,還好有前輩發現了其實傳送空格的辦法在英文的msdn上面有:

private void 給10個按鈕新增打字事件()

}void 測試_click(object sender, eventargs e)

這種使用foreach的辦法來給每乙個按鈕設定事件比單獨乙個個的設定要方便的多,如果以後要增加按鈕的數量,也不用更改這兒的程式,只要這個按鈕在panel1裡面!

一般來說sendkeys.send()方法需要在裡面加上乙個按鍵的描述,空格比較特殊,直接鍵入,這反倒把人給弄糊塗了,比如

sendkeys.send(

"");==>鍵入回車

sendkeys.send(

"");==>鍵入刪除前一字元

sendkeys.send(

"");==>鍵入向左鍵

如果想看全部的按鍵,可以在msdn上找到詳細的說明:

VB之SendKeys鍵盤模擬

vb sendkeys語句詳解 大家在vb6中都用過sendkeys,幕通過傳送鍵盤的事件間接地控制外部程式,是有遙控之說。我在vb7中卻發現這個不能用了,也就不了了之,後來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。主要是在system.winforms族中找...

VB之SendKeys鍵盤模擬

vb sendkeys語句詳解 大家在vb6中都用過sendkeys,幕通過傳送鍵盤的事件間接地控制外部程式,是有遙控之說。我在vb7中卻發現這個不能用了,也就不了了之,後來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。主要是在system.winforms族中找...

模擬鍵盤按鍵

模擬全域性按鍵可以用keybd event,sendinput來完成,下面是模擬一次caps lock 按鍵時兩個api函式的實現方法 keybd event keybd event vk capital,0,keyeventf extendedkey 0,0 key down keybd even...