如何在输入更改时使用TextBox动态更新标签

时间:2014-08-21 21:50:44

标签: vb.net winforms loops

我有一个拼写应用程序,我在VB.Net中构建,我有一个接收简单输入(拼写单词)的文本框,以及一个显示输出的标签。我想要完成的是当我在文本框中输入内容时,我可以在我的标签中看到它 - 因为我在文本框中输入内容。

我承认我不知道自己在做什么,因为我之前从未尝试过这样做,所以我不知道如何开始我的设置需要做。我知道我需要一些变量来保存我的String输入,并且可能需要某种类型的循环,但除此之外,我迷失了。唯一的另一个例子是C#,并没有帮助我。

任何人都可以给我一个简单的模型来解决,所以我可以将这种方法放入记忆中吗?现在,我所拥有的只是来自TextChanged事件处理程序的代码存根:

Private Sub txtSpell_TextChanged(sender As Object, e As EventArgs) Handles txtSpell.TextChanged
    'Set variables to hold values.
    Dim someText As String

    'Connect the label and textbox.
    lblShowInput.Text = txtWordInput.Text

    'Process loop to populate the label from textbox input.

    for '(This is where I am lost on the approach)

End Sub

1 个答案:

答案 0 :(得分:1)

  

我知道我需要一些变量来保存我的String输入,并且会   可能需要某种类型的循环

我不认为您需要一个循环,或者变量来保存该值。你几乎拥有它:

Private Sub txtSpell_TextChanged(sender As Object, e As EventArgs) Handles txtSpell.TextChanged
    'Connect the label and textbox.
    lblShowInput.Text = txtSpell.Text
End Sub

在您提供的代码中,您将在txtWordInput文本更改的事件处理程序中引用名为txtSpell的对象。如果您在txtWordInput输入中输入文字,则您希望在txtWordInput textChanged事件处理程序中处理此问题:

Private Sub txtWordInput_TextChanged(sender As Object, e As EventArgs) Handles txtWordInput.TextChanged
        'Connect the label and textbox.
        lblShowInput.Text = txtWordInput.Text
End Sub

后续

  • TextChanged事件是正确的事件。
  • 在您的代码中,您将lblShowInput.Text分配给txtWordInput.Text,但在txtSpell TextChanged事件处理程序中。
  • 您希望在TextChanged事件处理程序中找到您希望用于更新标签的TextBox,因为文本正在更改

为了提供更好的示例,我创建了一个简单的Winforms VB应用程序,该应用程序只有一个名为 InputTextBox 的文本框和一个名为输出标签label >

表格:

Simple VB Form with textbox and label

代码:

Public Class Form1

    Private Sub InputTextBox_TextChanged(sender As System.Object, e As System.EventArgs) Handles InputTextBox.TextChanged
        OutputLabel.Text = InputTextBox.Text

    End Sub
End Class

说明:

  • InputTextBox_TextChanged是Visual Studio为我们的事件处理程序生成的方法名称
  • Handles InputTextBox.TextChanged将该方法与正在处理的实际事件联系起来。
  • InputTextBox文本属性发生更改时(通常通过用户输入),我们InputTextBox_TextChanged Sub中的任何内容都将执行。在这种情况下,我将Text OutputLabel分配给Text的{​​{1}}

<强>输出:

enter image description here

资源: