kostenloser Webspace werbefrei: lima-city


Visual Basic: Objekt ImageBox jede Sekunde bewegen

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    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 :thumb:
    Hab am Firmenschleppdepp leider kein VB drauf, um das direkt umzusetzen ...
  4. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    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 :thumb:
    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! :smile:
  5. 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.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!