Entwickler-Ecke

WinForms - Im ClickHandler auf den Offset von dem ButtonArray zugreifen


harryhaller - Do 13.03.08 12:00
Titel: Im ClickHandler auf den Offset von dem ButtonArray zugreifen
Hallo Community,

ich habe vor wenigen Tagen mit C# angefangen und versuche gerade verzweifelt in einem ClickHandler den Offset des Buttons herauszu bekommen. Dieser Button ist ein Element aus einem normaten Array vom Typ Button. Ich habe ein weiteres Array mit Label-Elementen. Jetzt würde ich gerne beim klicken auf, zb Button[5] das Label[5] ändern. Nur schaffe ich es nicht in der Methode:


C#-Quelltext
1:
private void ClickHandler(object sender, EventArgs e){}                    


heraus zubekommen von welchem Button das Event aufgerufen wird.
Hat jemand eine Idee wie ich das heraus bekommen könnte?

Danke für eure Bemühungen,
Harry Haller


Th69 - Do 13.03.08 12:26

Du könntest entweder eine eigene Suchschleife über dein Button-Array implementieren oder aber alternativ die Tag-Eigenschaft jedes einzelnen Buttons setzen.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
private void ClickHandler(object sender, EventArgs e)
{
  Button button = sender as Button
  for(int i = 0; i < buttonarray.Count; i++)
    if(button == buttonarray[i])
       labels[i] = "bla bla";
}

// oder
button1.Tag = 1;
...
button5.Tag = 5;

private void ClickHandler(object sender, EventArgs e)
{
  Button button = sender as Button
  int i = (int)button.Tag;

  labels[i] = "bla bla";
}

Die "bla bla"-Texte mußt du jetzt noch selber ersetzen...


harryhaller - Do 13.03.08 13:18

Hallo,

funktioniert. Vielen Dank!

Grüße aus dem Schwarzwald,
Harry Haller