2015-11-26 82 views
0

我在发布之前搜索了一些东西,但是我找不到像这样的东西。基本上,我想从文本框中获取文本,另存为变量(如history1),以便将来可以调用该文本来显示文本。我可以做到这一点,但我坚持的是我需要3个变量(例如history1,history2和history3),每次按下按钮时,字符串都会移至下一个变量。C#每次按下按钮时递增循环

例如,按下按钮,文本被保存为变量history1。文本被改变并且按钮被再次按下,历史1的文本被移动到变量history2,并且新文本被保存为历史1。这只需要为3个实例工作,但不是无限的,所以当文本存储在history3中并且按下按钮时,文本被覆盖。

我还以为接近这一的方法是:

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不采取任何arguements。有没有更简单的方法来解决这个问题,或者只是一种方法来解决不采取争论的方法?

提前致谢!

回答

5

确保您在表单级别(不在任何方法内)使用delcare history1,history2history3

然后,让该按钮的单击事件的处理程序中下面的代码:

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

这简直是荒谬的,知道我过分复杂。谢谢! –

3

你并不需要在btnToFile_Click()方法多次调用在循环,刚刚摆脱底部的文字文本框到另一个相反的顺序。你也不需要循环,因为你只有三个文本框。

为什么颠倒顺序?因此,在将值覆盖新值之前,将值移到下一个文本框。

所以:

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

感谢您解释为什么它的做法相反,这很有道理! –

1

你可以尝试保存在一个字符串数组,并在其内移动的字符串时调用按钮点击事件

0

btnToFile_Click()是btnToFile Click事件处理程序(一个按钮)。你不应该自己调用这个方法,它被UI框架调用(比如说WPF或者WinForms等)。顺便说一句,它确实收到一个参数,然后事件源(因为你可以分配相同的事件处理程序到多个按钮,并根据哪一个发送事件做一些事情)