单击按钮时,将值增加1 C ++

时间:2012-07-20 06:20:12

标签: c++ visual-c++ c++-cli

已经开始撰写关于C ++的论文,并且拥有最有经验的C ++程序员会称之为一个小问题......

我正在使用Visual Studio 2008并使用.NET在Visual C ++中编码。我正在尝试编写最小的应用程序,每次单击按钮时都会在文本框中添加新行。添加新行很简单,但我想为每行添加一个递增的整数,例如,如果我第一次点击一个按钮,“这是第1行”被添加到文本框中,并在第二次单击“这是第2行“被添加到文本框中。我的编程有点生疏,无法想到能够实现这一点的循环结构。

以下是按钮处理程序的代码(带有一些伪代码):

private: System::Void addLine_Click(System::Object^  sender, System::EventArgs^  e) {

    int i = 0;
    if(button is clicked){
      listBox->Items->Add("This is line " + i);
      i++;
    }

}

Should output something like: 

This is line 1
This is line 2
This is line 3
This is line 4
This is line 5
             .
             .
             .
This is line i

我的按钮名称是“addLine”,我希望这些行显示的列表框名称称为“listBox”。

提前感谢您帮助这个C ++ noob :)。

2 个答案:

答案 0 :(得分:1)

i是一个局部变量,因此只要函数退出,它就会失去其范围。您需要将i声明为static或将其设为类变量。

private: System::Void addLine_Click(System::Object^  sender, System::EventArgs^  e) {

    static int i = 0;
    if(button is clicked){
      listBox->Items->Add("This is line " + i);
      i++;
    }

}

答案 1 :(得分:0)

我需要成为该类的成员 - 否则增量不会在函数调用后继续存在。