如何制作System :: Windows :: Forms :: Checkbox ^的向量/数组

找不到任何问题的答案,甚至没有任何问题。 所以我想要做的,是一个std :: vector,也许只是一个正常的数组,checkbox。

std::vector< System::Windows::Forms::CheckBox^ >m_items; m_items.push_back( myCheckbox ); 

这就是我目前所拥有的,显然是行不通的。 所以,有没有人有任何想法,如何得到它的工作,因为我尽我所能,但载体似乎不支持checkbox。

Incase你需要错误代码:

 c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmemory(200): error C3699: '&&' : cannot use this indirection on type 'System::Windows::Forms::CheckBox ^' 1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(421) : see reference to class template instantiation 'std::allocator<_Ty>' being compiled 1> with 1> [ 1> _Ty=System::Windows::Forms::CheckBox ^ 1> ] 1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(481) : see reference to class template instantiation 'std::_Vector_val<_Ty,_Alloc>' being compiled 1> with 1> [ 1> _Ty=System::Windows::Forms::CheckBox ^, 1> _Alloc=std::allocator<System::Windows::Forms::CheckBox ^> 1> ] 1> d:\programming\vc++ projects\mahi wcs race maker\mahi wcs race maker\RestrictedItemsForm.h(69) : see reference to class template instantiation 'std::vector<_Ty>' being compiled 1> with 1> [ 1> _Ty=System::Windows::Forms::CheckBox ^ 1> ] 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(630): error C3699: '&&' : cannot use this indirection on type 'System::Windows::Forms::CheckBox ^' 1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(655): error C3699: '&&' : cannot use this indirection on type 'System::Windows::Forms::CheckBox ^' 1>d:\programming\vc++ projects\mahi wcs race maker\mahi wcs race maker\RestrictedItemsForm.h(69): error C4368: cannot define 'm_items' as a member of managed 'MahiWCSRaceMaker::RestrictedItemsForm': mixed types are not supported 1>d:\programming\vc++ projects\mahi wcs race maker\mahi wcs race maker\RestrictedItemsForm.h(170): error C2663: 'std::vector<_Ty>::push_back' : 2 overloads have no legal conversion for 'this' pointer 

常规的std::vector不支持CLR引用类型。 相反,你必须使用cliext::vector 。 包括以下这些:

 #include <cliext/vector> 

并用于:

 cliext::vector<System::Windows::Forms::CheckBox^> items; items.push_back(myCheckBox); 

当然,您也可以使用常规.Net集合,如List<T> ,它的行为与vector行为相似。