Events - nicht gewollt
-
Guten Tag die Damen!
Wir erstellen mal ein Listview mit Checkboxen. Darin sollen alle möglichen Gurkensalatrezepte aufgelistet werden und die, die mir schmecken, die klick ich dann an. Original habe ich natürlich ne Gurkenklasse, denn die Listview ist ja nur ein Abbild.
Jetzt werde ich meine Gurkenrezepte natürlich dynamisch laden wollen, also tu ich das auch und fülle mein Listview mit den vorhandenen Rezepten. Ich schau natürlich ob mir der Salat schmeckt und markiere ihn auch beim erfolgreichen Vergleich.
Nun das Problem:
Markiere ich einen Salat im Code als schmackhaft, durchläuft er das Event "ItemCheck". Das sollte mein super Gurkenprogramm aber nur dann tun, wenn der User selbst draufklickt.Jetzt sagen Sie bitte nicht: Junge, nimm ein Clickevent
Die Preisfrage:
Kann man die Events (SelectedChange, ItemCheck usw) so einrichten, daß sie nur auf eine Benutzeränderung reagieren, oder muss ich mir Schalter einbauen (was ich sehr häßlich fände)?Vielen Dank für Ihre Aufmerksamkeit! Bitte hinterlassen Sie mir eine konstruktive Nachricht!
Grüsse aus dem Gurkenwald...
-
CGurkenSalat_,
CGurkenSalat_ schrieb:
Die Preisfrage:
Kann man die Events (SelectedChange, ItemCheck usw) so einrichten, daß sie nur auf eine Benutzeränderung reagieren, oder muss ich mir Schalter einbauen (was ich sehr häßlich fände)?zufällig schreibe ich gerade eine komplexe Verwaltungs-Software für Hühner-Züchter und hatte das gleiche Problem. Letztlich blieb mir nur die Schalter-Lösung.
Man könnte alternativ auch temporär den Handler aus dem Event entfernen, was jedoch (imho) genau so unschön/umständlich ist.
-
mein tipp:
solange du die elemente selber durchfährst, leerst du die delegate handler. sobald du vertig bist, linkst du die eireignisprozeduren wieder rein.
-
Ich kann's eigentlich kaum glauben, daß es keinen "sauberen" Weg dazu gibt. Aber wie ich mitbekommen habe, sind auch Leave-Events buggy. Nun habe ich einen häßlichen Schalter eingebaut
-
Was denn, die delegates abzumelden ist doch ne recht saubere Lösung. Allerdings:
Das sollte mein super Gurkenprogramm aber nur dann tun, wenn der User selbst draufklickt.
Jetzt sagen Sie bitte nicht: Junge, nimm ein Clickevent
Warum nicht? Wofür ist es denn da? Es kann keiner was dafür, wenn du dir nicht helfen lassen willst.
-
Den Schalter hab ich vorerst dem Entfernen/Hinzufügen der Delegates vorgezogen, weil ich den schneller entfernen kann, sollte ich doch noch eine geschicktere Lösung finden.
Gegen ein Clickevent spricht, daß die Maus nicht das einzigste Eingabegerät ist, womit man selektieren kann.
-
CGurkenSalat_ schrieb:
...
Gegen ein Clickevent spricht, daß die Maus nicht das einzigste Eingabegerät ist, womit man selektieren kann.du kanns doch prüfen womit geklickt wurde und dann selektieren!?!
-
Ne, da hat er schon recht. Er will auf Benutzer-Selektion reagieren und dafür kommt nicht nur die Maus in Frage. Ich find die Lösung mit den Delegates aber auch nicht schlecht.