PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : F: ValueChanged Event von .Net Controls unterdrücken


Chris Lux
2006-03-15, 11:25:28
Hi,
folgendes: ich habe zwei controls (einen slider und eine numericupdown). beide solleb gekoppelt sein, so dass wenn der slider bewegt wird der wert in der updown box angezeigt wird und umgekehrt genauso der slider angepasst werden soll nach den werten der updown box.

beide haben den value change event, auf den ich jeweils einen event handler registriert habe. nun passe ich in dem handler des einen den wert des anderen an. nur wird da ja gleich wieder der changed event des anderen gefeuert. kann man das unterbinden? bin schon kreuz und quer duch die .net dokus und google hilft da auch nicht mehr weiter.

thx

Expandable
2006-03-15, 11:37:46
Kenne mich damit zwar nicht aus, aber könntest Du es nicht so machen, dass der ValueChange-Event seine Arbeit nur ausführt, wenn das aktuelle Element gerade den Fokus hat?

Chris Lux
2006-03-15, 11:59:51
Kenne mich damit zwar nicht aus, aber könntest Du es nicht so machen, dass der ValueChange-Event seine Arbeit nur ausführt, wenn das aktuelle Element gerade den Fokus hat?
aaahhhh super idee... ich probiers

DANKE das geht ;)

grakaman
2006-03-15, 12:19:19
Gegenfalls könntest du auch im Eventhandler des einen Control den EventHandler des anderen entfernen und erst nach dem setzen des Wertes wieder zuweisen.

Abnaxos
2006-03-15, 12:31:35
Oder man könnte im Event Handler während eines solchen Updates ein Flag setzen.

Am elegantesten wäre IMHO, wenn man den Wert, bevor man ihn in der anderen Komponente setzt, vergleicht und schaut, ob eine Synchronisation überhaupt nötig ist und es sein lässt, wenn nicht. Das dürfte dann unter allen Umständen, egal was passiert, funktionieren wie erwartet.

Ich würde eher sowas machen, denn der Hack mit dem Fokus funktioniert nur, wenn sich der Wert aufgrund einer Benutzer-Interaktion ändert, was ja nicht zwingend der Fall sein muss.