使普通文本框的行为与InputBox类似

时间:2015-10-26 00:47:32

标签: c# vb.net wpf-controls

我正在使用Visual Studio Express for Windows Desktop,我想制作一个应用程序,将多个问题逐个放入多行文本框中,并由用户回答。所以我创建了一个多行文本框,其下面有一个单行文本框(如聊天客户端)

我希望单行文本框的行为类似于输入框功能(但没有弹出窗口)

更具体;我想编写一个函数来清除程序中的单行文本框,等待用户输入他的文本并点击返回,然后将输入的文本返回给调用代码,这样我就可以处理输入并继续

到目前为止,我无法在VB或C#中使用它,并且vb或c#中的解决方案将受到欢迎:)如果我可以将其放入可以重用的用户控件中,那将是均匀的更好。

有办法做到这一点吗?在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我还没有代码,但我创建了一个(愚蠢的)示例代码来展示我想要做的事情。

在主窗口中,我创建了一个开始按钮,一个名为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做同样的事情到目前为止我没有任何线索,除了我可能必须使自己的功能使其工作。 我希望上面的内容能更好地解释我的问题。