2013-11-28 3 views
0

나는 이것을하기위한 최선의 방법을 찾고자 노력했지만, 무엇을 검색해야하는지 잘 모르겠습니다. 그래서 누군가가 마음에 드는다면 나는 여기에 도움이되기를 바랍니다. 내 C# 폼에서Chatbot의주의를 얻으십시오

나는이 :

  • InputTextbox
  • OutputTextbox

나는 "만약"문장의 증가를 실행하는 "InputTextbox_KeyDown"를 사용하고 있습니다. 예 :

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

나는 "페니"는 chatbot를 호출하고, 단어 "페니"는 InputTextbox에 입력되면 그것은 단지 더 명령에 대해보고 싶습니다. (예 : 사용자가 "안녕하세요"라고 입력하면 "페니의"관심을받지 못해 아무 일도 일어나지 않습니다.) 이 같은

뭔가 :

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

않는 의미가?

+3

* 어떤 의미입니까? * Not really ... – MarcinJuraszek

+0

죄송합니다. 아 ... 기본적으로 필자는 "페니"가 InputTextbox에 입력되고 "hi there"로 회신되면 명령을 실행하기 만하면됩니다. –

+0

제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야한다"는 것을 참조하십시오. –

답변

1

당신은 단지 '페니'를 표시하는 플래그를 설정할 수 있습니다 당신이 당신 InputTextbox_KeyDown 방법의 상단이이

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 
    } 
} 
0

을 couldnt 입력 된?

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