Как я могу вернуться к предыдущей наблюдаемой строке

Пример

String context = string.Emty;

private void BtnForward_Click(object sender, RoutedEventArgs e)
{
  //First Click
  context = Abcd;
  TextboxText.Text = context; //Abcd 
  //Second Click
  TextboxText.Text = context; //new context = SADASD
  //Third Forth Fift click new string context
}

//Now how i can go back 5th string 4th string 3 2 1th string 
private void BtnBack_Click(object sender, RoutedEventArgs e)
{
  //Fift Forth Third Second First Observed string will show in the textbox
  // Reverse back previous string with sequence 
  TextBoxText.Text = context; // Will reverse/Go back in sequence 
}

Как я могу вернуться назад строку

Даже иду вперед вперед струной или и обратно назад назад. Мой английский не был достаточно хорош, чтобы объяснить, но если вы не можете понять, что мне сказали, пожалуйста, дайте мне знать

1 ответ

Решение

Вам необходимо сохранить ссылки на предыдущие значения. Один из подходов состоит в том, чтобы сохранить стек строк, где вы нажимаете новое значение каждый раз, когда вы нажимаете BtnForward_Click() и поп (самый последний), когда вы нажмете BtnBack_Click(), Пример приведен ниже:

    Stack context = new Stack();

    private void BtnForward_Click(object sender, RoutedEventArgs e)
    {
        // Here you would need to set the value of the Abcd based on your business logic
        context.Push(Abcd);
    }

    private void BtnBack_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            TextBoxText.Text = context.Peek(); // gets the most recently entered value of the stack that has not been removed (popped)
            context.Pop();                
        }
        catch (InvalidOperationException exc)
        {
            // Nothing to go back to
        }
    }
Другие вопросы по тегам