W jaki sposób można użyć zdarzenia System.ComponentModel.CancelEventArgs
? Załóżmy, że mamy następujący kod:W jaki sposób można wykorzystać zdarzenia takie jak CancelEventArgs?
public event CancelEventHandler EventTest = delegate { };
public void MakeSomethingThatRaisesEvent()
{
CancelEventArgs cea = new CancelEventArgs();
EventTest(this, cea);
if (cea.Cancel)
{
// Do something
}
else
{
// Do something else
}
}
Co się stanie, jeśli w wydarzeniu zostanie zarejestrowanych więcej niż jeden uczestnik? Czy istnieje sposób na uzyskanie wyników wszystkich subskrybentów?
Czasami używa się tego na WinFormach (przynajmniej). Jeśli nie można uzyskać wszystkich wartości, zakładają one tylko jednego subskrybenta wydarzenia?
Po prostu to! Dzięki – FerranB
To nie jest głosowanie. (Rozumiem, że był to zwrot, ale można go było źle zinterpretować.) Jeśli dowolny subskrybent ustawi opcję Anuluj na true, to na końcu będzie to prawda. Żaden subskrybent nie powinien ustawić wartości Anuluj na wartość false, ponieważ spowoduje to zastąpienie poprzedniego subskrybenta. –