如何在表单中有按钮时如何键入事件

时间:2014-11-14 21:25:08

标签: c# winforms keydown

我在WinForms中创建了一个显示空白屏幕的程序,然后如果按Enter键,则会发生一些事情。 好吧,我使用了这段代码:

 private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            label1.Visible = false;
            Colors.Start();

        }

现在,当我尝试在空白屏幕上添加一些按钮时,无论我做什么,点击“输入”的选项都不再适用。请不要忘记这个问题,我是编程方面的新手,我知道很多像这样的问题,但我无法理解它们...... 感谢

2 个答案:

答案 0 :(得分:0)

表单的AcceptButton属性是否已分配给按钮?

如果是这样,那可能首先抓住Enter键。

答案 1 :(得分:0)

Hans Passant建议的一个例子:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if (keyData == Keys.Enter)
        {
            MessageBox.Show("Enter");
            return true; // optionally prevent further action(s) on Enter; such as Button clicks
        }
        return base.ProcessCmdKey(ref msg, keyData);
    }
}

请注意,如果返回true,则按钮之类的控件将无法进入Enter键。