Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TrashAmbishion en 29 Agosto 2016, 21:01 PM

Título: Cambiando posición de un control aleatoriamente !
Publicado por: TrashAmbishion en 29 Agosto 2016, 21:01 PM
Hola,

Estoy tratando de mover un Label dentro de las dimensiones de un Form, con el siguiente código pero estoy obteniendo un error de que debe ser un valor positivo en la parte de r.Next...

Código (vbnet) [Seleccionar]


Dim r As New Random()

            Dim x As Integer = r.Next(Me.ClientRectangle.Height - Label1.Width)
            Dim y As Integer = r.Next(Me.ClientRectangle.Height - Label1.Height)
            Dim p As New Point(x, y)

            Me.Label1.Location = p

        End If



Gracias cualquier ayuda..

Salu2
Título: Re: Cambiando posición de un control aleatoriamente !
Publicado por: Eleкtro en 29 Agosto 2016, 22:43 PM
Cita de: TrashAmbishion en 29 Agosto 2016, 21:01 PMestoy obteniendo un error de que debe ser un valor positivo en la parte de r.Next...

El propio error te está diciendo donde tienes el fallo, al realizar alguna de estas restas estás obteniendo un valor negativo:

Cita de: TrashAmbishion en 29 Agosto 2016, 21:01 PMDim x As Integer = r.Next(Me.ClientRectangle.Height - Label1.Width)
Dim y As Integer = r.Next(Me.ClientRectangle.Height - Label1.Height)

...pero el parámetro de la función Random.Next(Int32) espera un valor positivo, puesto que el valor por defecto de "minValue" es 0 (a menos que le especifiques lo contrario), el valor de "maxValue" debe ser mayor o igual que 0.

Saludos
Título: Re: Cambiando posición de un control aleatoriamente !
Publicado por: TrashAmbishion en 29 Agosto 2016, 23:37 PM
Lo solucione

Math.Abs

de todas formas estoy viendo a ver como lo mejoro..

Salu2