我试图在最好的方法上做一些搜索,但我不太确定要搜索什么;所以如果有人想的话,我希望能有一些帮助。
在我的C#表单中,我有:
我正在使用“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*
这有意义吗?
答案 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
*/