0

这似乎是一个非常简单的问题,但对于我的生活(我对编码相当陌生)我找不到答案。

因此,基础是,我有一个名为 listbox1 的列表框,我通过按几个按钮中的一个(每个按钮都有一个要添加到列表的“值”)来填充各种条目,但我希望列表中的每个元素都是递增。例如:

  1. 对象 Z
  2. 对象 F
  3. 对象 W

等等等等。但到目前为止,我所做的只是对每个单独的按钮进行计数,这意味着计数只会增加同一个按钮,而不是全部。例如:

  1. 坚定的靴子
  2. 怒火之靴
  3. 怒火之靴
  4. 坚定的靴子

图片显示我在列表框中得到的内容: 程序图片

所以按下右边的按钮会在列表框中添加一个条目/

private: System::Void btn_steadfast_Click(System::Object^  sender, System::EventArgs^  e) 
     {
        static int i = 1;
        this->listBox1->Items->Add(i + ". Steadfast Boots ");
        i++;

private: System::Void btn_ragefire_Click(System::Object^  sender, System::EventArgs^  e) {
        static int i = 0;
        this->listBox1->Items->Add(i + ". Ragefire Boots ");
        i++;
     }

我相信我需要一个全局计数器,每个按钮在按下时都会引用它,只是不知道如何去做。

任何帮助将非常感激。

问候杰米


额外信息


这是我尝试过的代码(注释掉的是我试图输入的内容,同时还删除了过时的信息,例如使用“i”并尝试将“Form1”更改为 BDLGlacors 以表示表单名称无济于事,因为是程序中的第二种形式):

#pragma endregion
private: System::Void BDLGlacors_Load(System::Object^  sender, System::EventArgs^  e) {
         }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

             MessageBox::Show("Return to Menu?");
             BDLGlacors::Close();
         }
private: System::Void listView1_SelectedIndexChanged(System::Object^  sender, System::EventArgs^  e) {
         }
/*public ref class Form1 : public System::Windows::Forms::Form{
private:
    int buttonPressCount;

public:
    Form1()
    {
        buttonPressCount = 0;

    }*/
private: System::Void btn_steadfast_Click(System::Object^  sender, System::EventArgs^  e) 
     {
        static int i = 1;
        this->listBox1->Items->Add(/*buttonPressCount*/ i + ". Steadfast Boots ");
        //buttonPressCount++;
        i++;            
     }

private: System::Void btn_ragefire_Click(System::Object^  sender, System::EventArgs^  e) 
     {
        static int i = 1;
        this->listBox1->Items->Add(/*buttonPressCount*/i + ". Ragefire Boots ");
        //buttonPressCount++;
        i++;
     }

为长时间的编辑道歉。

4

1 回答 1

0

我不确定我是否理解,但也许您希望将计数作为一个字段:

public ref class Form1 : public System::Windows::Forms::Form
{
private:
    int buttonPressCount;

public:
    Form1()
    {
        buttonPressCount = 0;
        // ...
    }

private: System::Void btn_steadfast_Click(System::Object^  sender, System::EventArgs^  e) 
    {
        this->listBox1->Items->Add(buttonPressCount + ". Steadfast Boots ");
        buttonPressCount++;

private: System::Void btn_ragefire_Click(System::Object^  sender, System::EventArgs^  e) {
        this->listBox1->Items->Add(buttonPressCount + ". Ragefire Boots ");
        buttonPressCount++;
     }
};
于 2013-02-13T16:40:22.807 回答