如何在每次单击按钮时发送下一个数组元素?

时间:2009-05-03 09:19:02

标签: c# .net

我有一个字符串[] arr。我希望如果我按下按钮,一旦arr [0]进入文本框,如果我再次点击按钮,arr [1]进入文本框。

我知道它将使用一些计数器并在每次点击时递增它,但我只是与语法混淆。将不胜感激。

3 个答案:

答案 0 :(得分:2)

以下是一个示例:

int _Counter = 0;
string[] arr = new string[4] {"1", "2", "3", "4"};

private void buttonClick(Object sender, EventArgs e)
{
    textbox.Text = arr[_Counter];
    _Counter++;
    if (_Counter == arr.Length) {_Counter = 0;}
}

如果您在ASP.NET应用程序中使用它,则应将_Counter存储在ViewState,Session或Cookie中。

答案 1 :(得分:1)

if(Session["Counter"] == null)
   Session["Counter"] = 0;
string[] arr = new string[4] {"A", "B", "C", "D"};
private void button1_Click(Object sender, EventArgs e)
{        
    textbox1.Text = arr[int.parse(Session["Counter"])];
    Session["Counter"]=int.parse(Session["Counter"])+1;
    if (int.parse(Session["Counter"]) == arr.Length)
    {
       Session["Counter"]= 0;
    }
}

答案 2 :(得分:0)

一切都是单行的。 ;)

int _counter = 0;
string[] _values = {"1", "2", "3", "4"};

private void buttonClick(Object sender, EventArgs e)> {
    TheLittleTextbox.Text = _values[_counter++ % _values.Length];
}

(注意:由于计数器没有重置,它会在20亿次点击后溢出......但是,你可能已经磨掉了一大堆老鼠(昼夜疯狂地点击了大约20年)到达那里,我觉得它足够安全......)