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
Müsste ungefähr so gehen (Pseudocode):
Code:button.left=random(form.width); button.top=random(form.height);
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
(:
Ich denke das sollte passen:
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.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
Geändert von enco (17.07.2009 um 20:03 Uhr)
deleted -schwachsinn-
enco's lösung ist korrekt
(:
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))
(:
Naja okay manuell eingrenzen, bei encos code wäre dass dan so:
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^^Code:Button1.Left = (Rnd() * (Me.Width - 50 - Button1.Width)) + 1 Button1.Top = (Rnd() * (Me.Height - 50 - Button1.Height)) + 1
Ich dachte ich hätte schon richtig eingegrenzt ^^
Es reicht wohl nicht nur den Button 'abzuziehen'. Schau halt wie es passt.