簡體   English   中英

每次按下C#循環增量

[英]C# Increment for loop every time button is pressed

發布前,我在Google上搜索了一些內容,但找不到類似的內容。 基本上,我想從文本框中獲取文本,另存為變量(例如history1),以便將來可以調用它以顯示文本。 我可以做到,但是我堅持的是我想要3個變量(例如,history1,history2和history3),並且每次按下按鈕時,字符串都將移至下一個變量。

例如,按下按鈕,文本將保存為變量history1。 更改文本並再次按下按鈕,將history1中的文本移至變量history2,並將新文本另存為history1。 不過,這只需要在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不接受任何爭論。 有沒有更簡單的方法可以解決此問題,或者只是一種解決方法而不需要爭論?

提前致謝!

確保在表單級別(不在任何方法內)delcare history1history2history3

然后,在按鈕的click事件的處理程序中包含以下代碼:

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

您無需在循環中多次調用btnToFile_Click()方法,只需以相反的順序將文本從結束文本框移至另一個文本框即可。 您也不需要循環,因為您只有三個文本框。

為什么要反轉順序? 因此,您需要先將值移到下一個文本框,然后再用新值覆蓋它。

所以:

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

您可以嘗試保存在字符串數組中並在調用按鈕單擊事件時在其中移動字符串

btnToFile_Click()是btnToFile的Click事件處理程序(一個按鈕)。 您不應該自己調用該方法,而是由UI框架(例如WPF或WinForms等)調用。 順便說一句,它確實會接收一個參數,然后接收事件源(因為您可以將相同的事件處理程序分配給多個按鈕,並根據發送事件的方式進行操作)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM