.net 在Windows窗体上创建全局计数器以计数按钮按下次数
这似乎是一个非常简单的问题,但就我的一生而言(我对编码相当陌生),我找不到答案 因此,最基本的是,我有一个名为listbox1的列表框,我通过按下几个按钮中的一个按钮(每个按钮都有一个要添加到列表中的设置“值”)来填充各种条目,但我希望列表中的每个元素都递增。例如:.net 在Windows窗体上创建全局计数器以计数按钮按下次数,.net,winforms,c++-cli,.net,Winforms,C++ Cli,这似乎是一个非常简单的问题,但就我的一生而言(我对编码相当陌生),我找不到答案 因此,最基本的是,我有一个名为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++;
}
};