VB如何让按钮刷新回原始文本?

时间:2012-02-11 06:29:30

标签: vb.net button combobox textbox

我有一个简单的翻译程序,我在vb 2010中工作。

我有一个组合框,一个文本框和一个按钮。

到目前为止,当您在组合框中选择选项时,将出现文本框和按钮。然后当你输入内容时,它会在同一文本框中用新内容替换每个字母。

我无法弄清楚如何制作它如果我再次点击按钮它会将替换后的字母翻译回原来的字母。

如何做到这一点?

3 个答案:

答案 0 :(得分:2)

尝试在替换之前将文本复制到字符串,然后在单击第二个按钮时将文本框中的文本替换为字符串的内容。

Public Class Form1
    Dim backingString As String
    Dim bConverted As Boolean

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If Not bConverted Then
            backingString = TextBox1.Text
            bConverted = True
            If TextBox1.Text.Contains("A") Then
                TextBox1.Text = TextBox1.Text.Replace("A", "/-\")
            End If
        Else
            TextBox1.Text = backingString
            backingString = ""
            bConverted = False
        End If
    End Sub
End Class

答案 1 :(得分:0)

当用户输入内容时,他们输入的内容可以在"隐藏"文本框,而您的可见文本框正在显示(我假设是翻译)。然后,一旦用户单击按钮以显示他们发布的内容,您可以隐藏翻译的文本框并显示隐藏的文本框。它看起来像这样:

Private Sub Button1_Click()
    TextBox1.Visible = False    
    TextBox2.Visible = True
End Sub

当然,再次点击它不会反转它,所以我建议采用双按钮策略(1隐藏,1可见)。然后,当用户单击按钮以显示他们键入的内容时,将显示隐藏按钮,因此它将如下所示:

Private Sub Button1_Click()
    TextBox1.Visible = False    
    TextBox2.Visible = True
    Button1.Visible = False
    Button2.Visible = True
End Sub

Private Sub Button2_Click()
    TextBox1.Visible = True    
    TextBox2.Visible = False
    Button1.Visible = True
    Button2.Visible = False 
End Sub

答案 2 :(得分:0)

Public Class Form1

我就是这样做的,我认为这是最简单的方法。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Static buttonHits As Integer

        buttonHits += 1

        If IsOdd(buttonHits) = True Then
            Button1.Text = "New"
        Else
            Button1.Text = "Original"
        End If

    End Sub

    Function IsOdd(ByVal iNum As Integer) As Boolean
        IsOdd = ((iNum \ 2) * 2 <> iNum)

    End Function
End Class