如何在窗体中捕获“Enter”键?
问题描述:
我想获得一个文本框的文本,并保存到一个变量当用户按下输入键(当文本框有信息和被集中),因为这已经是我已经无法把方法另一种方法里面像txtbox1_keypress(或我已经做了错误的),所以我需要只是行代码,我可以在这个方法中如何在窗体中捕获“Enter”键?
private void df1_Click(object sender, EventArgs e)
{
txtres.Focus();
//timer
timeLeft = 50;
timer1.Start();
//mult
do
{
ban = 0;
m1 = r.Next(1, 4);
txtm1.Text = m1.ToString();
m2 = r.Next(2, 6);
txtm2.Text = m2.ToString();
res = m1 * m2;
//here is where i want to read txtm2 and continue with the rest
if(txtres.Text == res.ToString())
{
pun++;
}
ban++;
} while (timeLeft > 0 || ban != 10);
if(pun == 10 && level == 0)
{
level++;
System.IO.File.WriteAllText(@".\level.lvl", level.ToString());
}
}
答
既然你提到要运行它里面KeyPress
事件插入,在这里是例子:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (int) Keys.Enter)
{
//do the logic
}
}
答
添加一个按钮作为窗体的接受按钮,这将触发wheneve输入被按下。
此外,你的循环(做 - 而)应timer1_tick方法中完成,并采取了循环,直到计时器达到最高的50
定时器将执行每次蜱区间内的代码如前所述,循环会杀死你的GUI,它不会允许输入。
什么?代码示例,附有解释。 –
所以你正在运行一个计时器,并希望从文本框中获得用户输入? – dotctor
wll定时器无所谓,我只是想用一个输入键读取txtres的内容 –