5
에있는 취소 가능한 이벤트를 만드는 방법 ...VB.net에서 취소 가능한 이벤트를 만드는 방법 VB.net에서
리스너가 취소 할 수있는 이벤트를 만들고 싶습니다. winforms 양식의 closing 이벤트를 취소 할 수있는 것처럼 양식이 닫히지 않습니다.
는 이미 다음과 같이 설정 가능한 재산을 취소 가지고있는 EventArgs에서 파생 클래스를 구현 한 : 나는 생성자에하는 ByRef 취소 인수를 전달하고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
알 수 있습니다.
청취자는 속성을 Cancel = True로 설정합니다. ByRef는 _cancel과 cancel 모두 스택의 같은 위치를 가리키고 _cancel = true로 설정하면 cancel = true가된다는 것을 의미한다고 생각했습니다. 그러나 이것은 내가 얻고있는 행동이 아닙니다. _cancel은 setter에서 true가되지만 생성자에 대한 인수는 false로 유지됩니다.
vb.net에서이 작업을 수행하는 적절한 방법은 무엇입니까?
세스
감사 ... 그랬습니다. Seth –
'CancelEventArgs'에서 상속 할 필요는 없습니다. 당신은 그것을 직접 사용할 수 있습니다. –
'Public Event Announcing As CancelEventHandler' –