2015-11-26 84 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等)。順便說一句,它確實收到一個參數,然後事件源(因爲你可以分配相同的事件處理程序到多個按鈕,並根據哪一個發送事件做一些事情)