VB.NET Problem bei MousePosition

Shogoki92

Mitglied
Hallo.

Ich schreibe gerade an einem Programm , bei dem ein ereignis passieren soll wenn man in eine bestimmte region klickt.
Im Moment sieht das bei mir so aus:

Code:
Public Class Form1

 Private Declare Function GetAsyncKeyState Lib "user32"_
 (ByVal vKey As Long) As Integer
   private Const VK_LBUTTON = &H1
   private Const VK_RBUTTON = &H2


dim mousex as integer = mouseposition.x
dim mousey as integer = mouseposition.y
dim reg as region 


...
    Private Sub Form1_Mousemove (ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove

        mousex = e.X
        mousey = e.Y

    End Sub

    Public Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
       
        If GetAsyncKeyState(VK_LBUTTON) Then
            If reg.IsVisible(mousex, mousey) Then

            MsgBox("TEST")
            End if
        End If

    End Sub

End Class

Wenn Ich das programm starte und klicke kommt immer die Folgende Fehlermeldung: " Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

Was mache ich falsch?
Wie bekomme ich das zum funktionieren?

Schonmal Danke für eure Antworten

MfG Shogoki92
 

Shogoki92

Mitglied
Also Ich hab ein Surface Control von der SDL.NET lib Namens "bild"
und nen Timer in dem steht:

Code:
  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        x = x + 1
        y = y
        point.X = x
        point.Y = y

        bild.Location = point
        
        reg = bild.Region


    End Sub
 

Shogoki92

Mitglied
also timer 1 wird zuerst ausgeführt
und nulloder leer dürfte es ja eigentlich nicht sein, da ich ein bild in dem surface habe. Oder mache ich da irgendwas falsch?
 

Nico Graichen

Erfahrenes Mitglied
Das weiß ich nicht, aber das kannst du leicht herausfinden, in dem du einen Breakpoint an die Stelle setzt und die im anschaust, was dir bild.Region zurückliefert.
 

Shogoki92

Mitglied
Danke für den Tipp (Hätte ich eigentlich selber drauf komm müssen)
Tatsächlich ist:
bild.Region = Nothing

Aber wie kann ich dann Reg die Region die bild gerade ist zuweisen?
 

Neue Beiträge