BC30506: Handtagssatsen kräver en WithEvents-variabel som definierats i den innehållande typen eller någon av dess bastyper

Du angav ingen WithEvents variabel i Handles satsen. Nyckelordet Handles i slutet av en procedurdeklaration gör att det hanterar händelser som genereras av en objektvariabel som deklareras med hjälp av nyckelordet WithEvents .

Fel-ID: BC30506

Så här åtgärdar du det här felet

Ange den nödvändiga WithEvents variabeln.

Exempel

I följande exempel genererar Visual Basic kompilatorfel BC30506 eftersom nyckelordet WithEvents inte används i definitionen av instansen System.Timers.Timer .

Imports System.Timers

Module Module1
    Private _timer1 As New Timer() With {.Interval = 1000, .Enabled = True}

    Sub Main()
        Console.WriteLine("Press any key to start the timer...")
        Console.ReadKey()
        _timer1.Start()
        Console.ReadKey()
    End Sub

    Private Sub Timer1_Tick(sender As Object, args As EventArgs) Handles _timer1.Elapsed
        Console.WriteLine("Press any key to terminate...")
    End Sub
End Module

Följande exempel kompileras eftersom variabeln _timer1 har definierats med nyckelordet WithEvents :

Imports System.Timers

Module Module1
    Private WithEvents _timer1 As New Timer() With {.Interval = 1000}

    Sub Main()
        Console.WriteLine("Press any key to start the timer...")
        Console.ReadKey()
        _timer1.Start()
        Console.ReadKey()
    End Sub

    Private Sub Timer1_Tick(sender As Object, args As EventArgs) Handles _timer1.Elapsed
        Console.WriteLine("Press any key to terminate...")
    End Sub

End Module

Se även