Geldmann3
2011-12-30, 17:22:52
Hallo, habe hier ein kleines Problem.
Folgender Code funktioniert
Private Sub Element_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Element.MouseMove
MsgBox("Test")
Form2.Show()
End Sub
Nehme ich die MsgBox allerdings raus.
Private Sub Element_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Element.MouseMove
Form2.Show()
End Sub
Bekomme ich eine Fehlermeldung.
Fehler: Das Formular hat während der Erstellung ausgehend von einer Standardinstanz auf sich selbst verwiesen. Dies führte zu einer Endlosschleife. Verweisen Sie im Konstruktor des Formulars mithilfe von "Me" auf das Formular.
???
Why?
(Was ist das denn für eine Fehlermeldung? Das Formular verweist doch gar nicht auf sich selbst, oder habe ich etwas übersehen?)
Folgendes geht auch
Private Sub Element_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Element.Click
Form2.Show()
End Sub
Warum nicht mit Mousemove ?
Passiert es dann etwa immer wieder in einer Endlosschleife?
Wie kann ich das am besten zum funktionieren bekommen?
Edit:
Habe nun versucht die Endlosschleife so zu präventieren.
Public Brake As Boolean
(...)
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Brake = True
End Sub
(...)
Private Sub Element_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Element.MouseMove
If Brake = True Then
Form2.Show()
Brake = False
End If
End Sub
(...)
Ohne Erfolg, gleiche Fehlermeldung. Obwohl es ja nur noch ausgeführt werden sollte, wenn Brake wahr ist. Was Brake ja erst wieder ist nachdem der Timer getickt hat, dies geschieht nur alle 2 Sekunden... Es sollte also nicht zu einer Endlosschleife kommen. Wo liegt das Problem?
Folgender Code funktioniert
Private Sub Element_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Element.MouseMove
MsgBox("Test")
Form2.Show()
End Sub
Nehme ich die MsgBox allerdings raus.
Private Sub Element_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Element.MouseMove
Form2.Show()
End Sub
Bekomme ich eine Fehlermeldung.
Fehler: Das Formular hat während der Erstellung ausgehend von einer Standardinstanz auf sich selbst verwiesen. Dies führte zu einer Endlosschleife. Verweisen Sie im Konstruktor des Formulars mithilfe von "Me" auf das Formular.
???
Why?
(Was ist das denn für eine Fehlermeldung? Das Formular verweist doch gar nicht auf sich selbst, oder habe ich etwas übersehen?)
Folgendes geht auch
Private Sub Element_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Element.Click
Form2.Show()
End Sub
Warum nicht mit Mousemove ?
Passiert es dann etwa immer wieder in einer Endlosschleife?
Wie kann ich das am besten zum funktionieren bekommen?
Edit:
Habe nun versucht die Endlosschleife so zu präventieren.
Public Brake As Boolean
(...)
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Brake = True
End Sub
(...)
Private Sub Element_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Element.MouseMove
If Brake = True Then
Form2.Show()
Brake = False
End If
End Sub
(...)
Ohne Erfolg, gleiche Fehlermeldung. Obwohl es ja nur noch ausgeführt werden sollte, wenn Brake wahr ist. Was Brake ja erst wieder ist nachdem der Timer getickt hat, dies geschieht nur alle 2 Sekunden... Es sollte also nicht zu einer Endlosschleife kommen. Wo liegt das Problem?