Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » C# Ereignisse und Ereignishandler » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C# Ereignisse und Ereignishandler
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

C# Ereignisse und Ereignishandler Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
ich wollte fragen ob es in C# oder allgemein in der Informatik möglich ist einen Click Event Handler für mehrere Benutzersteuerelemente zu benutzen?

Das brauche ich deshalb weil in meinem Programm PictureBoxen dynamisch erzeugt werden sollen, aber den selben Klick Handler mit unterschiedlichen Aktionen dabei verwenden.

Bitte informiert mich bei unklarer Aufgabenstellung.

Wink

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
11.06.2013 16:39 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

RE: C# Ereignisse und Ereignishandler Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

ja das geht. Siehe Observer Pattern.

In C# gibt es ereignisse die abgefangen werden können. Wenn man einen Button hat, dann sind das bei der Vervollständigung die Einträge mit den Blitzen. So müsstest du nur einen Handler zu dem betrioffenen Ereignis hinzufügen.

Konkret für den Button guckst Du hier. (Ein Button ist ein Control, also erbt von Control)

VG,

Karlito
11.06.2013 19:19 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Sorry, nicht ganz vollständig...

Guckst Du außerdem hier

Codebeispiel für den Button:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
public void ButtonCreator(){
 Button btn = new Button();
 btn.Click += new EventHandler(ClickHandler); //Hier kkönnen mit += beliebig viele hinzugefügt werden
 //DoStuff with Button...
}

void ClickHandler(object sender, EventArgs args){
 //DoStuff
}


VG,

Karlito
11.06.2013 19:28 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie kann ich aber dann unterscheiden welcher Button das Event aufruft?

verwirrt

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von InformaTiger: 12.06.2013 15:36.

12.06.2013 15:36 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

void ClickHandler(object sender, EventArgs args)
sender hat die Funktion aufgerufen.

Edit: etwas konkreter
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
private void Form1_Load(object sender, EventArgs e)
{
    button1.Click += new EventHandler(ClickHandler);
    button2.Click += new EventHandler(ClickHandler);
    button3.Click += new EventHandler(ClickHandler);
    button4.Click += new EventHandler(ClickHandler);
}

public void ClickHandler(object sender, EventArgs e)
{
    MessageBox.Show("geklickt: " + ((Button)sender).Name);
}


__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 12.06.2013 16:07.

12.06.2013 15:49 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » C# Ereignisse und Ereignishandler