.net C++;在按钮之间传输变量

.net C++;在按钮之间传输变量,.net,visual-c++,c++-cli,.net,Visual C++,C++ Cli,在我的代码中,我想重复使用我的按钮,因为我不想处理太多的按钮。。。但是我用来改变按钮事件的变量并没有转移。。。我如何使一个变量足够全局,以便如果它被一个按钮改变,比如说X=1,它可以被另一个按钮使用,那么该按钮中的X=1也是如此?这是我的两个按钮的代码。。。int^YesOrNo已经在两个按钮之外初始化,使它们可以访问,但不能通过按钮更改 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^

在我的代码中,我想重复使用我的按钮,因为我不想处理太多的按钮。。。但是我用来改变按钮事件的变量并没有转移。。。我如何使一个变量足够全局,以便如果它被一个按钮改变,比如说X=1,它可以被另一个按钮使用,那么该按钮中的X=1也是如此?这是我的两个按钮的代码。。。int^YesOrNo已经在两个按钮之外初始化,使它们可以访问,但不能通过按钮更改

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
this -> button4 -> Visible = true;
this -> button2 -> Visible = false;
this -> button5 -> Visible = true;
this -> button3 -> Visible = false;
this -> label2 -> Visible = true;
this -> label2 -> Text = "Are you Sure?";
YesOrNo = 1;
}

 private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
  if (YesOrNo == 1)
  {
     this -> label2 -> Text = "To Make your Pony Character, See PonyMakin.txt in your... etc;                                                  
     button4 -> Text = "Show Pony";
     YesOrNo = 2;
  }
  else if (YesOrNo == 2)
  {
    this -> pictureBox3 -> Load("PonyCharacter.jpg");
  }
}

我已经申报了整数^ YesOrNo;在两个按钮之外,所以两个按钮都可以访问它,但是当一个按钮将YesOrNo更改为1时,另一个按钮仍然只能看到它,就好像它们刚刚初始化一样!我知道这可能是因为两个按钮都是空的,但我也不知道如何更改它们…

用int替换int^。一切都会成功的。请参见此链接中的“^其含义”

将int^替换为int。一切都会成功的。从这个链接可以看到它的意思。英语:你应该只在句子的开头使用大写字母,或者在名字中使用大写字母。不是在每个逗号之后。如果这些按钮是同一表单的一部分,它们应该可以访问同一个变量。我已经指定它们可以访问同一个变量,我说我需要的是,当一个按钮将变量从0更改为1时,任何其他按钮都无法识别该操作。。。因此,按钮2将不起作用,因为当按钮1将YesOrNo更改为等于1时,第二个按钮无法识别它,因此不会执行自己的代码…您的YesOrNo在按钮2内是本地的。“全球化”就是这样。@Elazar:大写字母似乎有点随意分散(“是”、“用过”等),而不仅仅是在标点符号之后。我必须说,我从来没有见过有人这样写。L1:你应该只在句首或名字处使用大写字母。不是在每个逗号之后。如果这些按钮是同一表单的一部分,它们应该可以访问同一个变量。我已经指定它们可以访问同一个变量,我说我需要的是,当一个按钮将变量从0更改为1时,任何其他按钮都无法识别该操作。。。因此,按钮2将不起作用,因为当按钮1将YesOrNo更改为等于1时,第二个按钮无法识别它,因此不会执行自己的代码…您的YesOrNo在按钮2内是本地的。“全球化”就是这样。@Elazar:大写字母似乎有点随意分散(“是”、“用过”等),而不仅仅是在标点符号之后。我必须说,我从未见过有人这样写。