Button enablen

01/09/2009 - 10:33 von Peter Spahn | Report spam
Hallo,

eien Routine, die per Delegate aufgerufen wurde, setzt einen Button auf
enable bzw disable was aber zu Problemen führt.

Wie macht man sowas richtig?


Besten Dank!
 

Lesen sie die antworten

#1 Günter Prossliner
01/09/2009 - 10:54 | Warnen spam
Hallo Peter!

eien Routine, die per Delegate aufgerufen wurde, setzt einen Button
auf enable bzw disable was aber zu Problemen führt.



Es wàre doch für uns interssant was "zu Problemen führt" jetzt wirklich
bedeutet! Keine Auswirkung? Exception?

Wie macht man sowas richtig?



button.Enabled = wert;

;-)

Wenn der Delegate in einem anderen Thread aufgerufen wird, dann per
"Invoke". Das kann dynamisch über "InvokeRequired" aufgerufen werden:

public static void SetEnabled(Button button, bool value){
if(this.InvokeRequired)
this.Invoke(SetEnabled, button, value);
} else {
button.Enabled = value;
}
}

Aufruf:
SetEnabled(button, wert);

ggf. auch in einer statischen Klasse als Extension Methode:
public static void SetEnabled(this Button button, bool value){ ... }

Aufruf:
button.SetEnabled(wert);



OK?
mfg GP

Ähnliche fragen