Visual Basic: Objekt ImageBox jede Sekunde bewegen
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
abfrage
auswerten
bewegen
boxen
code
ereignis
fenster
formular
intervall
jemand
komponente
panel
sekunde
setzen
sprung
starten
system
tick
url
ziehen
-
Moin Leute,
ich lerne seit gerstern den Umgang mit Visual Basic und möchte nun jede Sekunde ein Bild bewegen.
Ich habe mir das so vorgestellt:
Ein Timer läuft von 0 nach unendlich ---> bei eins bewegt sich die Imagebox 30 px nach links, bei zwei bewegt sich die Imagebox wieder 30 px nach links, usw...
Da das meine eigene Idee ist möchte ich die Aufgabe möglichst nicht auf andere Weise lösen. Aber wie setze ich das um?
MfG
Beitrag zuletzt geändert: 16.8.2012 13:40:08 von schinkenmedia -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du hast ja bereits festgestellt, was du wie machen willst:
eine Timer-Komponente, bei der du das Timer-Intervall auf 1000 (ms) setzt, ich nehme zumindest an, dass das gleich wie in Delphi ist
beim OnTimer-Event (oder wie auch immer das heissen mag) erhöhst du eine Zählervariable, und setzt den Links-Wert (vermutlich heisst das in VB diese Property Left) auch Zählervariable multipliziert mit deinen 30px Sprung.
Beim Ereignis, in dem das Formular angezeigt wird, solltest du die Zählervariable noch auch 0 setzen, und den Timer starten, und beim Timer-Event ein Abbruchkriterium, dass dier Timer gestoppt wird, wenn das Left der Box die ClientWidth des Formulars übersteigt.
Jetzt noch das Ganze von Deutsch in VB übersetzen, und gut ist's
Hab am Firmenschleppdepp leider kein VB drauf, um das direkt umzusetzen ... -
burgi schrieb:
Du hast ja bereits festgestellt, was du wie machen willst:
eine Timer-Komponente, bei der du das Timer-Intervall auf 1000 (ms) setzt, ich nehme zumindest an, dass das gleich wie in Delphi ist
beim OnTimer-Event (oder wie auch immer das heissen mag) erhöhst du eine Zählervariable, und setzt den Links-Wert (vermutlich heisst das in VB diese Property Left) auch Zählervariable multipliziert mit deinen 30px Sprung.
Beim Ereignis, in dem das Formular angezeigt wird, solltest du die Zählervariable noch auch 0 setzen, und den Timer starten, und beim Timer-Event ein Abbruchkriterium, dass dier Timer gestoppt wird, wenn das Left der Box die ClientWidth des Formulars übersteigt.
Jetzt noch das Ganze von Deutsch in VB übersetzen, und gut ist's
Hab am Firmenschleppdepp leider kein VB drauf, um das direkt umzusetzen ...
Danke, nur leider bin ich wie gesagt ein extremer Anfänger in VB.
Wenn jemand einen Code kennt wie ich einen Timer erstelle und diesen mit einer If-Abfrage auswerten kann, das wäre toll! -
Hallo schinkenmedia,
hier ist etwas Beispielcode:
Public Class MainWindow Dim WithEvents PictureTimer As Timer = New Timer() Private Sub PictureTimer_OnTick() Handles PictureTimer.Tick PictureBox1.Left = PictureBox1.Left + 30 End Sub Private Sub MainWindow_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load PictureTimer.Interval = 1000 PictureTimer.Start() End Sub End Class
Allerdings gibt es den Timer auch als Control in der Toolbox, d.h. Du kannst das Ding einfach auf Dein Fenster ziehen und dann im Eigenschafts-Panel den Handler zuweisen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage