2015-11-26 2 views
0

Я отправил в Google несколько вещей перед публикацией, но я не мог найти ничего подобного. В принципе, я хочу взять текст из текстового поля, сохранить как переменную (скажем, history1), чтобы затем можно было вызвать это в будущем для отображения текста. Я могу это сделать, но то, что я застрял, - это то, что я хочу, например, 3 переменные (history1, history2 и history3), и каждый раз при нажатии кнопки строка перемещается в следующую переменную.C# Приращение для цикла каждый раз, когда нажимается кнопка

Например, кнопка нажата, текст сохраняется как переменная history1. Текст изменен и кнопка снова нажата, текст из истории1 перемещается в переменную history2, а новый текст сохраняется как history1. Это нужно было бы работать только для 3-х экземпляров, но не бесконечно, поэтому, когда текст хранится в истории3 и кнопка нажата, текст просто перезаписывается.

Так я думал о приближении это было:

string history1; 
string history2; 
string history3; 

     for (int i = 1; i < 4; i++) 
     { 
      history1 = txtOutput.Text; 
      btnToFile_Click() 
      { 
       history2=history1; 
       btnToFile_Click() 
       { 
        history3=history2; 
       } 

      } 
     } 

Однако, это не будет работать, потому что btnToFile_Click не принимает заданы параметры. Есть ли более простой способ сделать это или просто исправить метод, не принимая аргументов?

Заранее благодарен!

ответ

5

Убедитесь, что вы delcare history1, history2 и history3 на уровне формы (не внутри какого-либо метода).

Затем следующий код внутри обработчика события щелчка кнопки:

history3 = history2; 
history2 = history1; 
history1 = txtOutput.Text; 
+0

Это смешно просто, знал, что я слишком усложняю его , Благодаря! –

3

Вам не нужно вызывать btnToFile_Click() метод несколько раз в цикле, просто переместить текст с конца текстовое поле другому в обратном порядке. Вам также не нужен цикл, потому что у вас есть только три текстовых поля.

Почему обратный порядок? Поэтому вы перемещаете значение в следующее текстовое поле до того, как оно будет перезаписано новым значением.

Итак:

history3 = history2; 
history2 = history1; 
history1 = txtOutput.Text; 
+0

Спасибо за объяснение, почему это сделано в обратном порядке, это имеет смысл! –

1

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

0

btnToFile_Click() является обработчиком Нажмите событие для btnToFile (а кнопка). Вы не должны сами называть этот метод, он вызывается инфраструктурой пользовательского интерфейса (например, WPF или WinForms и т. Д.). Кстати, он получает параметр, затем источник события (так как вы можете назначить один и тот же обработчик событий нескольким кнопкам и сделать что-то, на основании чего отправлено событие)

Смежные вопросы