2015-10-26 52 views
0

我正在使用Visual Studio Express的Windows桌面,我想製作一個應用程序,將多個問題一個接一個地放在多行文本框中並讓用戶回答。所以我做了一個多行文本框與下它單行文本框(如chatclient)使正常的文本框的行爲像輸入框

我想單行文本框表現得像InputBox函數(但沒有彈出)

更具體;我想寫一個函數來清除我的程序中的單行文本框,等待用戶輸入他的文本並返回,然後將輸入的文本返回給調用代碼,這樣我就可以處理輸入並繼續前進。

到目前爲止,我還沒有能夠在VB或C#中得到正確的結果,並且在vb或c#中的解決方案將受到歡迎:)如果我可以把它放入一個可以重用的用戶控件中,那將是甚至更好。

有沒有辦法做到這一點?先謝謝您的幫助。

+0

你需要在這裏發佈代碼才能獲得有用的答案。嘗試向輸入文本框的KeyDown中添加一些代碼,以檢查返回的「e.KeyCode」,將該事件用於.AppendText()到目標多行文本框。 – rheitzman

回答

0

我還沒有代碼,但我創建了一個(愚蠢的)示例代碼來顯示我想要做什麼。

在主窗口中,我做了一個startbutton,一個名爲OutputText的大型多行文本框和一個名爲InputText的單行文本框。 outputText將向用戶顯示我的文本,而InputText應處理用戶給出的答案。

當我使用的InputBox它的工作原理是這樣的:

Private Sub StartButton_Click(sender As Object, e As RoutedEventArgs) Handles StartButton.Click 
    Dim MyFirstName As String 
    Dim MyLastName As String 
    OutputText.Text = "" 
    OutputText.AppendText("What is your first name?" + vbCrLf) 
    MyFirstName = InputBox("") 
    OutputText.AppendText("And what is your last name?" + vbCrLf) 
    MyLastName = InputBox("") 
    OutputText.AppendText("Hello " + MyFirstName + " " + MyLastName + "!" + vbCrLf) 

End Sub 

現在我想用我自己的文本框做同樣的事情,而不是惱人的彈出的InputBox的,到目前爲止,我沒有,只是一個線索,我可能必須使我自己的功能,使其工作。 我希望以上解釋我的問題好一點。