0

我有一个应用程序,它向用户询问一些简单的问题。用户应该通过在文本框中输入答案来输入答案。但是,当我渲染 Windows 窗体时,TextBox 显示为灰色,与背景融为一体,并且不可编辑。

这是我的代码:

public string waitForText(Point Locution)
    {
        TextBox WriteAnswerHere = new TextBox();
        WriteAnswerHere.Location = Locution;
        WriteAnswerHere.ReadOnly = false;
        WriteAnswerHere.Focus();
        this.Controls.Add(WriteAnswerHere);

        int waiting = 1;
        while (waiting == 1)
        {
            if (Control.ModifierKeys == Keys.Enter)
            {
                waiting = 0;
            }

        }

        string HowYouAre = WriteAnswerHere.Text;
        this.Controls.Remove(WriteAnswerHere);
        return HowYouAre;
    }

输入应该在按下 Enter 键时提供给应用程序,因此 (Control.ModifierKeys == Keys.Enter); 关于我做错了什么有什么建议吗?

4

1 回答 1

1

您不应该使用 while 循环来检测特定的关键事件。您的 while 循环正在阻止表单。我建议您查看有关 Windows 窗体的事件和事件处理程序的这些文章。

http://msdn.microsoft.com/en-us/library/dacysss4.aspx

于 2013-06-02T22:19:20.033 回答