in VB.NET (nicht C#) erstellen ...Wie Sie eine kündbare Veranstaltung in vb.net
Ich möchte ein Ereignis schaffen, als durch den Hörer abgebrochen werden kann. Genauso wie Sie den Abschluss eines Winforms-Formulars abbrechen können. In diesem Fall wird das Formular nicht geschlossen.
Ich habe bereits eine abgeleitete Klasse von EventArgs implementiert, die eine einstellbare Eigenschaft hat Abbrechen wie folgt:
Public Class AnnounceNavigateEventArgs
Inherits EventArgs
Private _cancel As Boolean = False
''' <summary>
''' Initializes a new instance of the AnnounceNavigateEventArgs class.
''' </summary>
Public Sub New(ByRef cancel As Boolean)
_cancel = cancel
End Sub
Public Property Cancel() As Boolean
Get
Return _cancel
End Get
Set(ByVal value As Boolean)
_cancel = value
End Set
End Property
End Class
Beachten Sie, dass ich die byRef an den Konstruktor abbrechen Argument bin vorbei.
Der Listener, den ich eingerichtet habe, setzt die Eigenschaft auf Cancel = True. Ich dachte, ByRef meinte, dass sowohl _cancel als auch cancel auf die gleiche Stelle auf dem Stack zeigen würden und die Einstellung _cancel = true würde daher den Cancel = true machen. Aber das ist nicht das Verhalten, das ich bekomme. _cancel wird im Setter wahr, aber ich denke, das Argument für den Konstruktor bleibt falsch.
Was ist der richtige Weg, dies in vb.net zu tun?
Seth
Danke ... das hat es getan. Seth –
Es ist nicht notwendig, von 'CancelEventArgs' zu übernehmen; Sie können es direkt verwenden. –
'Öffentliches Ereignis, das als CancelEventHandler 'ankündigt –