Moin,
ich möchte meine DelayMsgBox gerne noch ein wenig erweitern und ein Event auslösen lassen, wenn die angegebene DelayZeit abgelaufen ist.
Mein momentaner Code in der DLL sieht so aus:
Aber wenn ich die nun in einer Form das Event nutzn möchte wird es mir nicht angezeigt! Was mache ich denn falsch?
Sry wenns total wirr ist, habe mich noch nie mit Events und sowas auseinander gesetzt =)
ich möchte meine DelayMsgBox gerne noch ein wenig erweitern und ein Event auslösen lassen, wenn die angegebene DelayZeit abgelaufen ist.
Mein momentaner Code in der DLL sieht so aus:
VB.NET-Quellcode
- Public Class DelayMsgBox
- Shared iDelay As Integer = 0
- Shared iMsgBoxDelay As Integer = 0
- Shared Function Show(ByVal text As String, Optional ByVal caption As String = Nothing, Optional ByVal delay As Integer = -1, Optional ByVal button As DelayBoxButtons = DelayBoxButtons.Ok, Optional ByVal icon As DelayBoxIcons = DelayBoxIcons.None) As DelayBoxResult
- Dim tmeDelayed As New Timers.Timer
- ' noch anderer Code
- If delay < 0 Then
- iMsgBoxDelay = delay
- tmeDelayed.Interval = 1000
- tmeDelayed.Enabled = True
- End If
- AddHandler tmeDelayed.Elapsed, AddressOf tmeDelayed_Tick
- Return ' irgendwas
- End Function
- Private Shared Sub tmeDelayed_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
- iDelay += 1
- If iDelay >= iMsgBoxDelay Then
- RaiseEvent Delayed()
- End If
- End Sub
- Shared Event Delayed()
- End Class
Aber wenn ich die nun in einer Form das Event nutzn möchte wird es mir nicht angezeigt! Was mache ich denn falsch?
Sry wenns total wirr ist, habe mich noch nie mit Events und sowas auseinander gesetzt =)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()