Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Tipps & Tricks
Autor
Nachricht
Bahamut
Poster
Poster

Anmeldedatum: 17.04.2008
Beiträge: 142

Form ohne Rand verschieben
Verfasst am: 19.04.2008, 13:02

Beschreibung:
Mit diesem Code könnt ihr auch Formen ohne Rand verschieben. Wenn solange der User auf das Label drückt, kann die Form verschoben werden. Als Timer-Intervall sind ca 10 ms zu empfehlen.

Code:
Visual Basic: [code]Private Sub Label1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles Label1.MouseDown

Timer1.Enabled = True ' Timer wird gestartet
Timer1.Start()

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick

Dim position As System.Drawing.Point
'Ein Punkt mit den aktuellen Mauskoordinaten wird angelegt
position.X = Me.MousePosition.X
position.Y = Me.MousePosition.Y

Me.Location = position ' Form Location ist Mauslocation

End Sub

Private Sub Label1_MouseUp(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseUp

Timer1.Stop() ' Stoppen
Timer1.Enabled = False

End Sub[/code]

Dieser Code wurde von Marduk geschrieben
_________________
 
Marduk
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 374


Verfasst am: 19.04.2008, 16:46

Hmm, das ist noch der alte Code, ich hab mal einen neuen geschrieben, denn bei dem "springt" die obere linke Ecke der Form an die aktuelle Mausposition beim Klicken. Die überarbeitete Version hat das nicht mehr, bin mal eben suchen.

//So, hier mal die verbesserte Version. Es wird 1 Timer benötigt.

Code:
Public difference As Drawing.Point<br /><br />    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown<br />        difference.Y = MousePosition.Y - Me.Location.Y<br />        difference.X = MousePosition.X - Me.Location.X<br />        'Differenz zum Formursprung wird berechnet(bleibt konstant)<br />        'Timer wird gestartet<br />        Time.Interval = 10<br />        Time.Enabled = True<br />        Time.Start()<br /><br />    End Sub<br /><br />    Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Time.Tick<br />        Dim newpoint As Drawing.Point = Nothing<br />        Dim mouse As Drawing.Point = MousePosition 'aktuelle Mausposition<br />        'von der Mausposition wird mit der Differenz die neue Formlocation berechnet<br />        newpoint.X = mouse.X - difference.X<br />        newpoint.Y = mouse.Y - difference.Y<br /><br />        Me.Location = newpoint<br />    End Sub<br /><br />    Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp<br />        Time.Stop()<br />        Time.Enabled = False<br /><br />    End Sub
 
^^kev####
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 476
Wohnort: Haan


Verfasst am: 21.05.2008, 20:58

Wieso benutzt ihr eigentlich nie die VB Tags Very Happy ?

Visual Basic: [code]Private Sub Label1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles Label1.MouseDown

Timer1.Enabled = True ' Timer wird gestartet
Timer1.Start()

End Sub

[/code]
_________________
 
Bahamut
Poster
Poster

Anmeldedatum: 17.04.2008
Beiträge: 142


Verfasst am: 24.05.2008, 12:25


(^^kev####;2614)
Wieso benutzt ihr eigentlich nie die VB Tags Very Happy ?


Der Beitrag wurde 2 Wochen vor dem Forumrelease geschrieben - damals gab es noch gar keine VB-Tags, das war alles noch in der Betaphase.
_________________


 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Tipps & Tricks

Tags: visual basic, form, verschieben

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [Ebook] jetzt lerne ich Visual Basic 6 4741 02.06.2010, 12:55
Keine neuen Beiträge Miceosoft Visual Basic 6.0 Einsteiger Kurs? 1079 17.02.2007, 20:01
Keine neuen Beiträge SUCHE MICROSOFT VISUAL BASIC! 878 12.02.2007, 20:54
Keine neuen Beiträge Microsoft Visual Basic 1178 27.01.2007, 23:59
Keine neuen Beiträge Visual Basic.. Version?? 1137 22.01.2007, 17:23
 




[ Time: 0.2229s ][ Queries: 93 (0.0394s) ][ GZIP on - Debug on ]