ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
569
569
EMPFEHLEN
-
Hi,
Ich hab folgendes Problem :
Ich hab ein Form, auf dem dynamisch beim Start icons erzeugt werden. Diese Icons sollen nun auf Doppelklick Details des Rechners anzeigen, den sie repräsentieren.
Das Doubleclick Event ist zugefügt und geht auch, solange ich keine Parameter übergeben muß. ( Die Zahlen vorm Befehl sind Zeilenzahlen und dienen nur dazu, daß ich hier Bezug nehmen kann. Die sind im Originalcode natürlich nicht drin
)
....
1 this.dedialer[lauf].DoubleClick += new System.EventHandler(this.dialerdbclick(id));
...
Die zugehörige Funktion soll nachher mehr machen, aber zuerst mal soll sie nur die übergebene ID ausgeben.
2 private void dialerdbclick(string id)
3 {
4 MessageBox.Show(id.ToString());
5 }
Wenn ich es übersetze, krieg ich als Fehlermeldung :
Methodenname wird erwartet. Markiert ist this.dialerdbclick(id) in der Zeile 1
Kann mir da jemand bitte helfen und mir sagen, was da falsch dran ist ?
Markus
-
26.01.04 18:52 #2
Hi,
dem EventHandler übergibst du lediglich den Methodenname, also dialerdbclick .. keine Klammern, wie beim Aufruf einer Methode und dementsprechend auch keine Parameter. Was genau willst denn machen ?
MfG
-
beim Doppelklick auf eines der Icons soll ein neues Fenster aufgehen und genauere Infos anzeigen. Dazu muss das Fenster aber übergeben bekommen ( oder zumindest irgendwie rausbekommen ) auf welches Icon geklickt wurde.Original geschrieben von erik s.
Was genau willst denn machen ?
Da die Icons aber dynamisch angelegt werden, haben sind sie alle in einem Array.
Also woher kann die Funktion, die beim Doppelklicken aufgerufen wird, wissen, welches Icon geklickt wurde ? Sie muß nur eine einzige Zahl kriegen.
Markus
-
27.01.04 14:51 #4
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Hallo.
Code :1
private void dialerdbclick(string id)
Das kann schon mal kein gültiger Eventhandler für ein DoubleClick Ereigniss sein.
Der EventHandler delegate sieht immer folgendermassen aus:
Code :1 2 3 4
public delegate void EventHandler( object sender, EventArgs e );
Also muss deine Methode so aussehen
Code :1
private void dialerdbclick(object sender, EventArgs ea)
sender ist ein Verweis auf das Objekt, welches das Event ausgelöst hat.
Diese Daten sollten ausreichen um das Objekt zu identifizieren, und dann eben die entsprechenden Daten anzuzeigen, oder was auch immer.
Mfg,
AlexWith the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Angenommen die Icons besitzen immer noch eine Eigenschaft Text, dann funktioniert das etwa so:
Code :1 2 3 4 5 6 7 8 9 10 11 12
this.dedialer[lauf].DoubleClick += new System.EventHandler(this.dialerdbclick); // sender enthält Informationen über den Aufrufer des Ereignisses // e enthält Informationen über das Ereignis selbst private void dialerdbclick(object sender, System.EventArgs e) { // Um auf die Text Eigenschaft des Icons (sender) zugreifen zu können // müssen wir das sender-objekt explizit zum entsprechenden Objekttyp // casten (in meinem Fall ist es ein Button, den musst du durch die Klasse // ersetzen, die du für deine Icons verwendet hast). MessageBox.Show( ((System.Windows.Forms.Button) sender).Text ); }
Damit müsste es eigentlich gehen.Geändert von IRQ (27.01.04 um 15:01 Uhr)
bye IRQ
-
Danke für beide Antworten.
Ich teste das mal und sag Bescheid, ob es ging.
Markus
-
mit den Veränderungen im Aufruf und
MessageBox.Show( ((System.Windows.Forms.Button) sender).Name
( mit Anpassungen des Casts natürlich )
ging es dann.
Vielen Dank für die Hilfe
Markus
Ähnliche Themen
-
JNI Parameterübergabe
Von Hilfloser im Forum C/C++Antworten: 1Letzter Beitrag: 20.12.09, 20:07 -
DLL Parameterübergabe
Von Cromon im Forum C/C++Antworten: 1Letzter Beitrag: 14.08.09, 19:25 -
CGI Parameterübergabe ?
Von ert18 im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 5Letzter Beitrag: 20.12.07, 10:12 -
Parameterübergabe
Von stephandziurla im Forum PHPAntworten: 3Letzter Beitrag: 16.08.05, 12:04 -
parameterübergabe
Von coolsummer im Forum XML TechnologienAntworten: 1Letzter Beitrag: 22.09.04, 21:20





Zitieren

Login





