0

目前,我有这个:

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

但是,无论我输入 FURNACE、COAL 还是其他任何东西,它仍然会弹出“Unknown key”。为什么?

它在 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...) 将计数加一,但它从零开始。

输入是一个文本框。

4

1 回答 1

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");
        }
    }
}
于 2012-08-04T22:39:13.657 回答