В.Б. Как сделать так, чтобы кнопка обновлялась до исходного текста? - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть простая программа для перевода, над которой я работаю в VB 2010.

У меня есть выпадающий список, текстовое поле и кнопка.

То, что у меня есть, это когда вы выбираете опцию в выпадающем списке, появится текстовое поле и кнопка. затем, когда вы что-то набираете, каждая буква заменяется чем-то новым в том же текстовом поле.

Что я не могу понять, так это как сделать так, чтобы, если я нажму кнопку еще раз, она переведет замененные буквы обратно в исходные.

как бы это сделать?

Ответы [ 3 ]

2 голосов
/ 11 февраля 2012

Попробуйте скопировать ваш текст в строку перед тем, как заменить ее, затем замените текст в текстовом поле содержимым вашей строки, когда вы нажмете 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
0 голосов
/ 01 апреля 2014

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
0 голосов
/ 11 февраля 2012

Когда пользователь вводит что-то, может ли введенное им быть записано в «скрытом» текстовом поле, в то время как ваше видимое текстовое поле - это то, что отображается (я предполагаю, что это перевод). Затем, как только пользователь нажмет кнопку, чтобы отобразить то, что он опубликовал, вы можете скрыть переведенное текстовое поле и показать скрытое с исходным текстом. Это будет выглядеть примерно так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...