你试试
Button btn;
btn=(Button)sender;
textBox1.Text=btn.Text;
要先把你的代码拿出来看
你可以尝试在KeyUp事件中获取并赋值。那样就没问题了。但是此时会有一个问题就是重复输入,比如你同时按住多个键。但是逐个松开这个时候就会有问题了。最终结果只显示最后一个松开的按键的值。
所以可以用一个按钮和开关变量来控制输入。代码如下,自己琢磨一下。呵呵
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox1.Enabled = false;
}
bool _isType = true;
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
// 判断是否可以输入,可以输入的状态时则进行捕捉内容
if (!_isType)
{
string keyname = Enum.GetName(typeof(Keys), e.KeyCode);
if (e.Alt)
keyname = "Alt + " + keyname;
if (e.Control)
keyname = "Ctrl + " + keyname;
if (e.Shift)
keyname = "Shift + " + keyname;
textBox1.Text = keyname;
_isType = true;
textBox1.Enabled = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
_isType = false;
textBox1.Enabled = true;
textBox1.Focus();
}
}
通过KeyCode可以获取到