[VC++/cli] Tablica komponentów

0

Witajcie.
Mam taki problem z którym juz kilka dni nie mogę sobie poradzić, mianowicie. Chcę utworzyć tablicę, a dokładniej array składającą się z elementów typu button. Robię to tak:

array<Button^>^ but=(gcnew array<Button^>(2));

Kod się ładnie kompiluje, ale jak chce odwołać się do pierwszego elementu takiej tablicy, czyli:

but[0]->Text="asd";
but[0]->Location=System::Drawing::Point (50, 12);

, to wywkakuje komunikat o błędzie

An unhandled exception of type 'System.NullReferenceException' occurred in System.Windows.Forms.dll

Additional information: Object reference not set to an instance of an object.

Zupełnie nie wiem jak sobie z tym poradzić, a googlowanie nic nie pomogło, jedynie BC++ lub C#
:(
Pytanie brzmi, jak mogę dynamicznie w VC++ cli stworzyć tablicę komponentów??

0

Stworzyłeś tablicę komponentów to może jakieś tam wstaw? Same się nie wezmą z powietrza.

0

musisz najpierw utworzyc nowa instancje klasy Button;
but[0] = new Button()

0

Dziękuję za pomoc. Właśnie nie wiedziałem co co chodzi, bo w BC++ nie było tego. CEdit* MojEdit[6] i z tego co pamiętam to już wystarczyło.

A jeszcze jakbym mógł się zapytać, czy można wstawić takiego Buttona do grupBox'a ?

0

Możesz zbudować cały graficzny interfejs bez użycia Designera
w c# wyglada to tak że obiekt groupBox posiada kolekcje kontrolek
gb.Controls.Add(control) w c++ jest pewnie podobnie.

No i jesli nie dodasz nigdzie tych buttonów co masz w tablicy, to one się nigdzie nie pojawią na oknie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1