.net 在Windows窗体上创建全局计数器以计数按钮按下次数

.net 在Windows窗体上创建全局计数器以计数按钮按下次数,.net,winforms,c++-cli,.net,Winforms,C++ Cli,这似乎是一个非常简单的问题,但就我的一生而言(我对编码相当陌生),我找不到答案 因此,最基本的是,我有一个名为listbox1的列表框,我通过按下几个按钮中的一个按钮(每个按钮都有一个要添加到列表中的设置“值”)来填充各种条目,但我希望列表中的每个元素都递增。例如: 对象Z 对象F 对象W 诸如此类。但到目前为止,我所做的只是对每个按钮进行计数,这意味着计数只会对同一个按钮递增,而不是全部递增。 例如: 结实的靴子 碎布靴 碎布靴 结实的靴子 显示我在列表框中得到的内容的图片: 因此,按下右边

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

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

  • 对象Z
  • 对象F
  • 对象W
  • 诸如此类。但到目前为止,我所做的只是对每个按钮进行计数,这意味着计数只会对同一个按钮递增,而不是全部递增。 例如:

  • 结实的靴子
  • 碎布靴
  • 碎布靴
  • 结实的靴子
  • 显示我在列表框中得到的内容的图片:

    因此,按下右边的按钮会在列表框中添加一个条目/

    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,以表示表单名称,但无效,因为这是程序中的第二个表单):


    抱歉编辑时间太长。

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

    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++;
         }
    };
    

    这不是C++问题。我已经重新标记了我认为合适的标记-如果我犯了错误,请随意更改。谢谢你,我不确定要放置什么标记。你好,谢谢你的回复。然而,我似乎无法将其融入到我的代码中。我还假设,通过“也许您希望将计数作为一个字段”,您建议将计数存储在一个变量中?在您的示例中,每个方法中的“i”变量是不同的变量(另外,如果类有多个实例,每个方法将访问和更新与其他实例中相应方法相同的变量,因为该变量是静态的)。在我的示例中,这两个方法将访问和更新同一个变量,因为它是类中的实例字段。如果类有多个实例,则每个实例的字段都会不同。同样,我不确定这是否是您想要的,但您对问题的描述对我来说似乎不清楚。我更新了我的初始帖子,提供了更多信息,以及我所尝试的内容。我还意识到“I”变量只是相关按钮的局部变量,这正是我试图绕过的,但这就是我所拥有的一切,我现在明白了,我所描述的正是你想要的。我只是不知道方法btn_steadfast_Click和btn_ragefire_Click属于哪一类。只需将buttonPressCount放在这些方法所在的类中(是BDLGlacors吗?)。
    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++;
         }
    };