我在 VS2005 中使用 C++,并且在表单上有一个 8x8 的按钮网格。我想将这些按钮放在一个数组中,因此当我单击其中任何一个按钮时,它将打开相同的事件处理程序(我认为这就是它们的名称),但我会知道单击了哪个按钮的索引。我知道如何在 VB 和 C# 中做到这一点,但我似乎无法用 C++ 弄清楚现在我的所有按钮都标有它们的位置,即 b00、b10、b21 等。所以我想我是什么寻找是一种方法来做这样的事情:
Button b[8][8]; //this causes me errors (error C2728: 'System::Windows::Forms::Button' : a native array cannot contain this managed type) and (error C2227: left of '->{ctor}' must point to class/struct/union/generic type)
void Assignment(){
b[0][0] = b00;
b[1][0] = b10;
...
}
然后在 form1.h 中:
private: System::Void b_Click(System::Object^ sender, System::EventArgs^ e) {
//somehow read the coordinates into variables x and y
//do something based on these values
}
任何帮助,将不胜感激。如果我的方向完全错误,也请告诉我。谢谢!