Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11
  1. #1

    Standard [VB .NET] Random position?

    Hallo,

    Ich möchte einen button in einer random position bewegen lassen.
    Ich hatte mal einen kleinen 2 zeilen code dafür aber hab ihn nich mehr.

    Kann mir da wer aushelfen?
    Greetz

  2. #2

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Müsste ungefähr so gehen (Pseudocode):

    Code:
    button.left=random(form.width);
    button.top=random(form.height);

  3. #3
    Anfänger
    Registriert seit
    11.07.2009
    Beiträge
    13

    Standard

    Ich hätte da eine Lösung die funktioniert

    Code:
    Public Class Form1
        Dim random As New System.Random
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Timer1.Enabled = True
            Timer1.Interval = 700
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.Location = New Point(random.Next(10, 800), random.Next(10, 800))
        End Sub
    End Class

    viel Spaß damit

    z0ND
    Geändert von z0ND (17.07.2009 um 19:19 Uhr) Grund: kommentar vergessen
    (:

  4. #4

    Standard

    @zond ja so ähnlich hatte ich das auch mal gemacht.
    Aber wo leg ich da die maximum breite/höhe an?
    Die "800" sins nicht

  5. #5
    Kuschel-Wuschel enco Avatar von enco
    Registriert seit
    26.01.2006
    Beiträge
    1.075

    Standard

    Ich denke das sollte passen:
    Code:
    Public Class Form1
        Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseMove
            Button1.Left = (Rnd() * (Me.Width - Button1.Width)) + 1
            Button1.Top = (Rnd() * (Me.Height - Button1.Height)) + 1
        End Sub
    End Class
    Benötigt wird eine Form (Name egal) mit einem Button (Button1). Wenn du die Maus über den Button bewegst, dann wechselt der Button die Position.
    Geändert von enco (17.07.2009 um 20:03 Uhr)

  6. #6
    Anfänger
    Registriert seit
    11.07.2009
    Beiträge
    13

    Standard

    deleted -schwachsinn-

    enco's lösung ist korrekt
    (:

  7. #7

    Standard

    @enco
    Jap das ist genau der code wie ich hatte, aber anscheinend nicht ganz, ich hatte das irgentwie angestellt das er nicht über die form hinaus geht.
    Doch bei diesem code kann der button verschwinden...

    @zond
    Nein die size ist festgelegt.

  8. #8
    Anfänger
    Registriert seit
    11.07.2009
    Beiträge
    13

    Standard

    das würde gehen mit eingrenzen

    Code:
            Dim random As New System.Random
            Button1.Location = New Point(random.Next(10, Me.Size.Height - 50), random.Next(10, Me.Size.Width - 50))
    (:

  9. #9

    Standard

    Naja okay manuell eingrenzen, bei encos code wäre dass dan so:
    Code:
         Button1.Left = (Rnd() * (Me.Width - 50 - Button1.Width)) + 1
            Button1.Top = (Rnd() * (Me.Height - 50 - Button1.Height)) + 1
    klappt auch, muss man halt an die größe des steuerelements anpassen da nur die größe des steuerelements nicht ausreicht weil es bis zum letzten pixel ausnutzt und dann is das ding halt weg^^

  10. #10
    Kuschel-Wuschel enco Avatar von enco
    Registriert seit
    26.01.2006
    Beiträge
    1.075

    Standard

    Ich dachte ich hätte schon richtig eingegrenzt ^^
    Es reicht wohl nicht nur den Button 'abzuziehen'. Schau halt wie es passt.

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •