即使没有按下,也会检测到输入键

时间:2012-08-04 22:20:00

标签: c#

目前,我有这个:

if ((input.Text.ToUpper() == "FURNACE" || input.Text.ToUpper() == "COAL") && count == 3)
                {
                    end3();
                }
                else
                {
                    MessageBox.Show("Unknown key");
                }

但是,无论我进入FURNACE,COAL还是其他任何东西,它仍会弹出“未知密钥”。为什么呢?

这是一个KeyUp事件,如下所示:

private void input_KeyUp(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.Enter)
        { 
          //The earlier code I showed goes here
        }
    }

计数不同,其中一个if(input.Text.ToUpper ...)正在添加一个来计数,但它从零开始。

输入是一个文本框。

1 个答案:

答案 0 :(得分:0)

我认为您在输入e.SuppressKeyPress = true;后立即错失if所以当您按Enter键时,它不会在您的文字中显示为字符。

private void input_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.Enter)
    { 
        e.SuppressKeyPress = true;
        if ((input.Text.ToUpper() == "FURNACE" || input.Text.ToUpper() == "COAL") && count == 3)
        {
            end3();
        }
        else
        {
            MessageBox.Show("Unknown key");
        }
    }
}