Announcement

Collapse
No announcement yet.

Button Zustand überwachen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Button Zustand überwachen

    Hallo!

    Ich habe so ca. 50 Buttons über eine Button Liste erstellt Diese Buttons bekommen ihre Location und Size von einer Array Strukur übergeben.
    Nun möchte ich überwachen welcher Button gedrückt wird und für diesen z.B eine kleine Funktion auslöst (z.b. Farb Umschaltung, bool Variable setzten, usw.).
    Es gibt ja die btn.Click += new EventHandler(btn_Click) Methode.
    Mit der würde ich ja mitkriegen wenn einer betätigt wird. Aber ich möchte nicht für alle 50 Buttons eine click Methode erstellen.
    Durch eine andere Anwahl / Mode kann es sein, das nur noch 30 Buttons oder 10 Buttons verwendet werden. Deshalb möchte ich es flexibel aufbauen.

    Gibt es noch andere Möglichkeiten die Buttons auf den Zustand zu überprüfen?
    Wie würdet ihr das ganze erstellen?

    schöne Grüße

  • #2
    Hallo,

    gib deinen Buttons eine eindeutige Nummer und trage diese in Tag ein. Dann kannst du einen gemeinsamen EventHandler zuweisen und den Button so auswerten:
    [highlight=c#]private void myButtonsClick(object sender, EventArgs e) {
    Button btn = sender as Button;
    if (btn != null) // nur sicherheitshalber, kann eigentlich nicht schiefgehen
    {
    switch( (int)btn.Tag ) // usw.
    }
    }[/highlight]
    Gruß Jürgen

    PS. Ob 50 Buttons auf einem Formular wirklich benutzerfreundlich sind, ist freilich eine andere Frage.

    Comment


    • #3
      Man kann in einer Schleife, so wie die Buttons ihre Location aus dem Array lesen, denen auch ein gemeinsames ClickEvent zuweisen. Da die Schnittstelle ja vorgegeben ist und daher ein Button beim Klicken immer sich selber als object mitschickt, kannst du ja in der Funktion auswerten, von welchem Button das kommt und dann die entsprechende Aktion ausführen.

      bye,
      Helmut

      Comment

      Working...
      X