Hallo, Ich möchte in C++/Cli ein einfaches Dame-Spiel programmieren. Nun habe ich ein Spielfeld angelegt, aus 8x8, wobei jedes Element ein button in einem TabelLayoutPanel ist. Ich habe die alle einzeln hineingezogen und größe definiert. Kann man das nicht auch einfacher über irgend ein Button-Array machen? Also das ich die Buttons dann mit ner for-Schleife erstelle und die größe, die immer gleich ist zuweise? Hab leider keinen Plan wie ich so die Buttons erstellen kann, hoffe es kann mir jemand helfen. mfg Florian
Hallo mache ein 2 dimensionales array mit Buttons: array<Windows::Forms::Button ^, 2> ^butArray; und dann must du noch die Buttons initialisieren und der Form hinzufügen: for(int i = 0; i < 8; i++) { for(int j = 0; j < 8; j++) { butArray[i, j]->Name = "Button"; butArray[i, j]->SIze = ... butArray[i, j]->Location = ... ... this->Controls->Add(butArray[i, j]); } } Moritz
hm, kommt leider immer ein Fehler... Ist es auch möglich die bereits vorhandenen Buttons in ein Array mit demselben Event-Handler zu packen? mfg
Hallo, was ist das für ein Fehler? Natürlich kann man ein EventHandler für alle Buttons benutzen, weil das im prinzip ja nur eine Funktion ist. Mit dynamic_cast<Button>(sender) kann man aus dem Sender Objekt dann wieder ein Button machen. Moritz
Eine nicht behandelte Ausnahme des Typs "System.NullReferenceException" ist in Dame2.exe aufgetreten. Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Das kommt dann immer mfg
Hallo, sorry hab was vergessen du musst das butArray auch noch initialisieren. butArray = gcnew array<Button, 2)(8, 8); sonst ist das array leer Moritz
Und wo genau initialiser ich das? im Konstruktor von meiner Form1? mfg
mit dem initialisieren klappt das nicht so^^ kommen so ca 100.000 Fehler
Mach ich, klappt aber nicht, kannst du das vl fix schreiben und mir schicken?
Hallo, im Visual Studio 2012 wurde C++/CLI herrausgenommen, weswegen man leider keine Windows Forms mit C++ mehr programmieren kann. Ich hab das ganze mal in c# gemacht. Ich hoffe es hilft dir. Moritz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.