你意思是要通过button控件键盘的按键是吧,很简单,使用SendKeys即可完成
先看下效果图:
看下面的完整代码:
using System;
using System.Windows.Forms;
namespace ButtonKeyboard
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.richTextBox1.Focus(); //这里要设置一个焦点,即你要在哪个控件中输入空格键,我这里设置为richTextBox
SendKeys.Send(" "); //发送空格键
this.richTextBox1.Text += "空格键发送成功\n";
}
private void button2_Click(object sender, EventArgs e)
{
SendKeys.Send("%"); //发送Alt键
this.richTextBox1.Text += "Alt键发送成功\n";
}
}
}
注意到图中第一行多了一个空格没有?那就是button1执行了空格键的结果
由于空格键有其特殊性,如果在Form1为焦点的情况下执行没有效果的,所以执行空格键之前要设置一下焦点
另外附加一些常用的sendkeys的代码表,如果需要一些特殊的按键,可以百度搜索"sendkeys特殊键"
--------------------------------------------------
以下是 SendKeys 的一些特殊键代码表。
键 代码
BACKSPACE {BACKSPACE}、{BS} 或 {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL 或 DELETE {DELETE} 或 {DEL}
DOWN ARROW(下箭头键) {DOWN}
END {END}
ENTER {ENTER} 或 ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS 或 INSERT {INSERT} 或 {INS}
LEFT ARROW(左箭头键) {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}(保留,以备将来使用)
RIGHT ARROW(右箭头键) {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW(上箭头键) {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
数字键盘加号 {ADD}
数字键盘减号 {SUBTRACT}
数字键盘乘号 {MULTIPLY}
数字键盘除号 {DIVIDE}
若要指定与 SHIFT、CTRL 和 ALT 键的任意组合一起使用的键,请在这些键代码之前加上以下一个或多个代码:
键 代码
SHIFT +
CTRL ^
ALT %
触发键盘做什么?