有一个简单的winform,上面有一个button,每次点击,这个button都改变颜色,现在的问题是,要做一个撤消功能,可以回复到前面3步,请问有什么好一点的实现方法,最好有代码。举例:
红 黄 绿 蓝 绿 红 黄,当前显示黄色。
然后点撤消,button变为红色,再点撤消,变为绿色
最多退3步。

解决方案 »

  1.   

    本帖最后由 net_lover 于 2011-10-17 20:09:35 编辑
      

  2.   

    大致意思
    String[] color = "红 黄 绿 蓝 绿 红 黄".Split(' ');
        int i = 0;
        public Stack<String> btn = new Stack<string>();
        private void button6_Click(object sender, EventArgs e)
        {      btn.Push(color[i]);
          label1.Text = color[i];
          i++;
       }    private void button5_Click(object sender, EventArgs e)
        {
          label1.Text = btn.Pop();
        }或者    String[] color = "红 黄 绿 蓝 绿 红 黄".Split(' ');
        int i = 0;   
        private void button6_Click(object sender, EventArgs e)
        {   
          label1.Text = color[i];
          i += 1;
        }    private void button5_Click(object sender, EventArgs e)
        {
          i -= 1;     
          label1.Text = color[i];
        }
    具体细节自己填充
      

  3.   

    你第2个没有用到stack,是不是说可以不用?