显示备用消息(KeyDown)

本文关键字:KeyDown 消息 备用 显示 | 更新日期: 2023-09-27 18:29:53

我正在创建一个简单的练习程序,如果我要按"Enter",将显示的第一条消息是"Enter a word",然后如果我再次按"回车",第二条消息将是"Hello"。我真的是KeyDown事件的新手,我刚刚开始一点一点地学习它。感谢您的帮助。

这是我迄今为止尝试过的代码。但输出并不是我想要的。

private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            if (textBox1.Text == "1")
            {
                MessageBox.Show("Enter a word");

            }
            else if (textBox1.Text == "1")
            {
                MessageBox.Show("Hello");
            }
        }
    }

显示备用消息(KeyDown)

在第二次按Enter键之前,您确实需要保存您的状态。在下面的实现中,我将状态保存在布尔"state"变量中,因为任务只需要有两个可能的状态。

    private bool State = false;
    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            if (State == false)
            {
                MessageBox.Show("Enter a word");
                State = true;
            }
            else if (State == true)
            {
                MessageBox.Show("Hello");
                State = false;
            }
        }
    }

若您有更多的状态,您可以使用不同的变量,比如字符串,或者使用执行一些工作来确定下一个状态的私有方法。

您的两个if子句是相同的(textBox1.Text == "1")。无论如何,您不应该使用TextBox来跟踪您的状态。请尝试在表单源代码中创建一个private int time = 1;字段,然后进行检查。别忘了,每次你发现你按了"回车"键,就把它加1。