Visual Basic.NET - como mover 1 PictureBox en tiemp de Ejecucion

 
Vista:

como mover 1 PictureBox en tiemp de Ejecucion

Publicado por pinosvalle (12 intervenciones) el 08/11/2003 17:36:25
Necesito saber qué tengo que hacer para poder mover un objeto PictureBox en tiempo de ejecución, que el usuario puede arrastrarlo y soltarlo donde desee dentro de un form. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por Edgar (1501 intervenciones) el 09/11/2003 05:08:53
Hola

Debes usar la técnica de drag and drop.. puedes ver un ejemplo en

http://www.codeproject.com/dotnet/csdragndrop01.asp

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por pinosvalle (12 intervenciones) el 09/11/2003 14:03:24
Pero ese ejemplo me dice como arrastrar algo de un control a otro. Yo lo único que quiero es que el usuario pueda mover un picturebox de un lugar del form a otro, sin mas. Please, help!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por Edgar (1501 intervenciones) el 09/11/2003 23:10:33
El ejemplo que te envié es más complejo de lo que necesitas, pero te muestra claramente los liniamientos que se necesitan para hacer el drag and drop...

En primer lugar debes crear un metodo que maneje el evento MouseDown del PictureBox, dentro de este metodo, debes llamar al metodo DoDragDrop, pasandole como parémetro el picturebox a mover y el efecto que deseas darle... por ejemplo DragDropEffects.All.

Posteriormente... debes implementar ciertos metodos en el formulario, uno para manejar los eventos DragEnter, DragOver, DragDrop and DragLeave... el dragenter ocurre cuando el mouse esta arrastrando algun control en el formulario..

El DragOver ocurre despues del DragEnter y lo que hay que especificar en el metodo es que como se maneja el drag.. por lo que hay que especificar unicamente cual es el efecto que quieres darle... si especificas DragDropEffects.None simplemente estarias especificando que no se va a ejecutar el drag and drop..

El evento DragDrop ocurre cuando sueltas el boton del mouse... es aqui donde especificarás las nuevas coordenadas del PictureBox... pero no deberias trabajar directamente sobre el PictureBox.. sino a través del la propiedad e.Data (donde data es el parámetro del tipo DragEventArgs)

Basicamente eso es todo lo que debes hacer...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por Zuly Molina (2 intervenciones) el 05/02/2008 19:50:52
Hola, agradezco me indiques como me inicio en picturebox, una amiga nos mando la fotografia de mi hija en una portada de cosmopolita, mi pregunta es donde y como realizo ese tipo de trabajos artitisticos donde puedo abceder a los modelos realizados por otras personas quiero realizar ese tipo de trabajo con fotografias de mi familia. saludos.

zuly molina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como utilizar el picturebox

Publicado por Zuly Molina (2 intervenciones) el 05/02/2008 19:53:19
Hola, agradezco me indiques como me inicio en picturebox, una amiga nos mando la fotografia de mi hija en una portada de cosmopolita, mi pregunta es donde y como realizo ese tipo de trabajos artitisticos donde puedo abceder a los modelos realizados por otras personas quiero realizar ese tipo de trabajo con fotografias de mi familia. saludos.

zuly molina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como mover un picturebox en visul.net

Publicado por nidia sanchez (1 intervención) el 03/03/2010 21:38:55
me podrias mandar una respuesta ahorita mismo por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por yanca (2 intervenciones) el 12/12/2008 04:02:04
por fa nesesito
saber como hago un rompecabeza
quiero mover imagen cuando estoy compilando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por yanca (2 intervenciones) el 12/12/2008 04:02:10
por fa nesesito
saber como hago un rompecabeza
quiero mover imagen cuando estoy compilando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por dina (1 intervención) el 26/09/2009 16:45:09
como mover un picturebox de la izquierda a la derecha y de la derecha a la izquierda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por fernando yevenes (1 intervención) el 25/03/2010 21:30:16
quien necesita drag drop ? en picture
mover el picture ?? en todo sentido

todo eso esta para visual 6 pero en net ?? alguien tiene el fuente

[email protected]

no entrego todo ya que es mi trabajo y necsito otro trabajo que me de mas $$$
ojala en chile

---

' Declaraciones Api

' Api que recupera el estilo de la ventana, en este caso el control picturebox
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

' Api que establece el nuevo estilo al control picturebox
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

' Constante para el api GetWindowLong
Const GWL_STYLE = (-16)

Private Declare Function SetWindowPos Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, _
ByVal Cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long

Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const WS_THICKFRAME = &H40000
Const SWP_DRAWFRAME = &H20
Const SWP_NOZORDER = &H4

Private Sub Form_Load()

'picture1 es fijo y los otros dos van dentro del picture1 principal
Call Cambiar_Estilo(picture2)
Call Cambiar_Estilo(picture3)

End Sub

Private Sub Cambiar_Estilo(Picturebox As Picturebox)

Dim ret As Long
Dim Estilo As Long
Dim Flags As Long

Flags = SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME

' Opcional
Picturebox.BorderStyle = 0

Estilo = GetWindowLong(Picturebox.hwnd, GWL_STYLE)
Estilo = Estilo Or WS_THICKFRAME

' Cambia el estilo
Estilo = SetWindowLong(Picturebox.hwnd, GWL_STYLE, Estilo)

ret = SetWindowPos(Picturebox.hwnd, Picturebox.Parent.hwnd, _
0, 0, 0, 0, Flags)

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como mover 1 PictureBox en tiemp de Ejecucion

Publicado por Lizy (18 intervenciones) el 10/12/2021 20:46:21
' Esto también funciona chicos, y con procedimientos básicos del Form
' Colocar un Panel en el Form
' Luego copiar este codigo y se podrá mover el Form y el Panel con el mouse

Option Strict On

Public Class Form1

Dim MVE As Boolean = False
Dim Xobj As Single, Yobj As Single
Dim Xfrm As Single, Yfrm As Single

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub

Dim CTRL As Control

Private Sub Mueve_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown, Panel1.MouseDown
CTRL = CType(sender, Control)

If e.Button = MouseButtons.Left Then
CTRL.BringToFront()

Xobj = e.X
Yobj = e.Y

MVE = True
End If
End Sub

Private Sub Mueve_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove, Panel1.MouseMove
CTRL = CType(sender, Control)

If MVE = True Then
If e.Button = MouseButtons.Left Then

Xfrm = e.X + CTRL.Left
Yfrm = e.Y + CTRL.Top

CTRL.Left = CInt(Xfrm - Xobj)
CTRL.Top = CInt(Yfrm - Yobj)

CTRL.Refresh()
Application.DoEvents()
End If
End If

End Sub

Private Sub Mueve_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp, Panel1.MouseUp
MVE = False
End Sub

End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar