注意Chatbot

时间:2013-11-28 01:55:03

标签: c# if-statement chat

我试图在最好的方法上做一些搜索,但我不太确定要搜索什么;所以如果有人想的话,我希望能有一些帮助。

在我的C#表单中,我有:

  • InputTextbox
  • OutputTextbox

我正在使用“InputTextbox_KeyDown”来运行越来越多的“if”语句。即:

if (e.KeyCode == Keys.Enter & InputputTextbox.Text.Contains("hello")
OutputTextbox.Text = "hi there"

我正在呼叫聊天机器人“Penny”,并希望只有在输入文本框中输入单词“penny”时才会查找更多命令。 (即:如果用户键入“你好”,没有任何事情会发生,因为他们没有得到“佩妮的”注意)。

这样的事情:

if (KeyCode == Keys.Enter & InputTextbox.Text.Contains("penny")
then
*look for the next InputTextbox.Text*

这有意义吗?

2 个答案:

答案 0 :(得分:1)

您只需设置一个标志即表示已输入“便士”

private bool _isActive = false;

public void YourMethod()
{
    if (!_isActive)
    {
        if (KeyCode == Keys.Enter && InputTextbox.Text.Contains("penny"))
        {
            _isActive = true;
        }
    }
    else
    {
        if (e.KeyCode == Keys.Enter && InputputTextbox.Text.Contains("hello"))
        {
            OutputTextbox.Text = "hi there";
        }

        // other if's
    }
}

答案 1 :(得分:0)

难道你不能将它放在输入文本框KeyDown方法的顶部吗?

if(KeyCode != Keys.Enter) return;
if(!InputTextbox.Text.Contains("penny")) return;
/*
 * rest of chat responses
 */