C# 通过什么方法检查按键是否按下?
好的,所以我创建了一个名为C# 通过什么方法检查按键是否按下?,c#,winforms,keypress,C#,Winforms,Keypress,好的,所以我创建了一个名为KeyCheck()的方法,它应该检查是否按下了一个键(特别是回车键),如果是,它将按按钮1 不幸的是,当我调用该方法时,我不确定传递给它什么。我想让它知道什么时候按下回车键 public partial class Form1 : Form { public void GameStart() { richTextBox1.WordWrap = true; richTextBox1.SelectionAlignment =
KeyCheck()
的方法,它应该检查是否按下了一个键(特别是回车键),如果是,它将按按钮1
不幸的是,当我调用该方法时,我不确定传递给它什么。我想让它知道什么时候按下回车键
public partial class Form1 : Form
{
public void GameStart()
{
richTextBox1.WordWrap = true;
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
richTextBox1.Text = "Hello, Welcome to Grandar!";
}
public Form1()
{
InitializeComponent();
GameStart();
//What variable do I pass to KeyCheck Method?
KeyCheck();
}
private void KeyCheck(KeyPressEventArgs k)
{
if (k.KeyChar == (char)Keys.Enter)
{
button1.PerformClick();
}
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
}
查看此页面:
您需要与其他方法类似的方法,包括sender对象和event args
if (e.KeyCode < Keys.Enter) {
//Your logic
}
if(e.KeyCode
这里需要注意几件事:
a) 您真的想按照示例代码的建议直接调用KeyCheck
,还是应该将其连接为表单上的处理程序(您所请求的信息将自动提供-需要更改签名以与其他一些方法中的标准处理程序对齐)
b) 我认为你不能像现在这样调用KeyCheck
方法,除非你连接另一个事件来捕获按键,然后通过更新newkeypressevent(…)
因此,为了回答您的问题,我认为您需要类似(伪代码)的东西
订阅此:
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.KeyPress_Method);
以及检查Enter键的方法:
void KeyPress_Method(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13) // enter key
{
// your code
}
}
void KeyPress_Method(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13) // enter key
{
// your code
}
}