ValueChanged-Ereignis verhindern

OP #6014994
Lesenswert?

Wie kann man verhindern, dass wenn ich per Software (z.B. ein 
NumericUpDown) einen neuen Wert schreibe, das ValueChanged-Ereignis 
ausgelöst wird?
Also wenn es per Tastatur/Maus gemacht wird ja, vom Programm aus nein.

Hintergrund ist eine kleine Software, die sowohl ein Gerät bedienen kann 
als auch als Monitor verwendet werden soll. Gerät hat 2 Schnittstellen 
(PC, WLAN)

Schreibt nun das WLAN-Modem, bekomme ich die Quittung, schreibe das ins 
Steuerelement zur Anzeige und löse damit nun natürlich einen erneuten 
Sendevorgang aus - das soll unterbleiben.
Gast #6015017
Lesenswert?

Deine Programmierumgebung ist mir unklar, aber generell Du koenntest das 
Element locken (readonly machen), dann deinen Wert hineinschreiben und 
wieder entlocken. Dein Programm kann sich dann sicher sein, dass das 
Event nicht von einer echten Benutzereingabe kommt. Beachte aber 
moegliche Fokus-Implikationen.
Gast #6015119
Lesenswert?

H.Joachim S. schrieb:
> wird trotzdem das ValueChanged-Ereignis ausgelöst

Wenn du das nicht selbst geschrieben hast kannst du daran auch nichts 
ändern. Du kannst höchstens feststellen wodurch der Interrupt ausgelöst 
wurde und danach entscheiden ob das Ereignis bearbeitet wird. Z.B. setzt 
du beim Schreiben ein Flag und wertest das in der Service-Routine aus.

Georg
Gast #6015187
Lesenswert?

So ganz verstehe ich noch nicht, ob es sich nun um dein eigenes Programm 
handelt (wie ja
>NumericUpDown1.ReadOnly = True
>NumericUpDown1.Value=1000

suggeriert) oder ob du mit deinem Programm ein anderes steuern willst. 
Wenn du den Code oben schreiben kannst, hast du doch auch Zugriff auf 
den Handler und kannst dort ein Flag auswerten? Oder du könntest den 
Handler per RemoveHandler und  AddHandler aus- und wieder einhängen (ist 
zwar weniger elegant, aber falls nichts wirklich parallel läuft, dürfte 
es auch sicher sein).
Gast #6020548
Lesenswert?

Dann bastel dir doch einfach eine neue combo Box mit dem flag drin das 
von einer normalen combo Box erbt... Dann hast du das ganze 
übersichtlich, schreibst den Code nur ein Mal und kannst es mit einem 
einfach flag lösen bzw musst nicht ständig sie event Händler anfassen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren