Button-Array Eventhandler in C++/Cli

Gast #3048797
Lesenswert?

Hallo

Ich habe im Programm-Code ein Button-Array erzeugt
1
this->Location = Point(350,10);
2
        this->Size = System::Drawing::Size(616,658);
3
        Spielfeld->Size = System::Drawing::Size(600,600);
4
        array<Windows::Forms::Button ^, 2> ^ Buttons = gcnew array<Windows::Forms::Button ^, 2>(8, 8);
5

6
        Spielfeld->Location = Point(0,23);
7

8
        for(int i = 0; i < 8; i++)
9
        {
10
          for(int j = 0; j < 8; j++)
11
          {
12
            Buttons[i,j] = gcnew Windows::Forms::Button();
13
            Buttons[i,j]->Size = System::Drawing::Size(75,75);
14
            Buttons[i,j]->FlatStyle = FlatStyle::Flat;
15
            Buttons[i,j]->Margin = System::Windows::Forms::Padding(0);
16
            Spielfeld->Controls->Add(Buttons[i,j], i, j);
17
            Spielfeld->Margin = System::Windows::Forms::Padding(0);
18
            
19

20
            if(i % 2 == 0 && j % 2 == 0 || i % 2 == 1 && j % 2 == 1)
21
              Buttons[i,j]->BackColor = Color::Black;
22
            else
23
              Buttons[i,j]->BackColor = Color::White;
24
          }
25
        }
26
        System::Windows::Forms::Control::Refresh();
Dies alles mache ich im EventHandler von Form1_Load.

Nun will ich aber auch einen Eventhandler für das Array selbst haben, 
nur hab ich leider keine Ahnung wie und wo ich das machen muss, bzw ob 
ich das Array selbst in Form1_Load bzw. wo anders definieren muss...

Jemand ne Idee wie es funktionieren könnte und wie der fertige 
Eventhandler für das Array dann aussieht?

mfg
Marco T.
Gast #3048817
Lesenswert?

Hallo,

Füge den Buttons in deinen for-Schleiben immer den gleichen 
Event-Handler hinzu:

Buttons[i, j]->Click += gcnew EventHandler(this, 
&Form1::Buttons_Clicked);

Dann musst du noch die Funktion:
Buttons_Clicked(Object ^sender, EventArgs ^e) {}
programmieren.

In der Buttons_Clicked() Funktion kannst du dann mit:
Button ^clickedButton = dynamic_cast<Button>(sender) herrausfinden 
welcher der Buttons genau geclicked wurde.

Moritz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren