Hola, tengo mi WebBrowser que muestra
una imagen con marquee infinito; quiero saber si es posible mediante este código transformarlo en el
WebBrowser1 que es el control de mi
WebBrowser...
Option Explicit On
Option Strict On
Public Class Form1
' variables
Private x As Integer
Private y As Integer
Private mover As Boolean
Private Sub Form1_MouseDown( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
' habilitar el flag
mover = True
' guardar las coordenadas
x = e.X
y = e.Y
' cambiar el cursor del mouse
Me.Cursor = Cursors.NoMove2D
End If
End Sub
Private Sub Form1_MouseMove( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If mover Then
' establecer la nueva posición
Me.Location = New Point((Me.Left + e.X - x), (Me.Top + e.Y - y))
End If
End Sub
Private Sub Form1_MouseUp( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
' reestablecer
mover = False
Me.Cursor = Cursors.Default
End Sub
End Class
Cual es el problema?Lo he intentado cambiando
Form1 por
WebBrowser1 y lockeando el mismo
WebBrowser, pero cuando voy a arrastrar el
Form, lo que arrastro es la imagen que lleva el
WebBrowser dentro, es decir lo que está mostrando...
Alguna idea?
Un saludo.
He estado modificando un poco el código:
Private Mover As Boolean = False
Private p_Mouse As Point = Nothing
Private Sub WebBrowser1_MouseDown( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles WebBrowser1.MouseDown
Me.Cursor = Cursors.Hand
Mover = True
' guarda rl el x e y donde se hizo clic
p_Mouse.X = e.X
p_Mouse.Y = e.Y
End Sub
Private Sub WebBrowser1_MouseMove( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles WebBrowser1.MouseMove
If Mover Then
' referencia al control
Dim unControl As Control = CType(sender, Control)
' cambiar las coordenadas
Dim p1 As Point = unControl.PointToScreen(e.Location)
Dim p2 As Point = unControl.Parent.PointToClient(p1)
' asignar el left y el top - laposición del mouse donde se hizo clic
unControl.Left = p2.X - p_Mouse.X
unControl.Top = p2.Y - p_Mouse.Y
End If
End Sub
Private Sub WebBrowser1_MouseUp( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles WebBrowser1.MouseUp
' cambiar el cursors
Me.Cursor = Cursors.Default
' flag para mover el control
Mover = False
End Sub
Pero me sale este error, y no se porqué:
He estado buscando información, pero no he encontrado nada... Soy muy noob, o soy retarded xD
Lo mismo pasa si uso este code:
Dim oPoint As New System.Drawing.Point
Dim posicionX, posicionY As Integer
Private Sub WebBrowser1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles WebBrowser1.MouseDown
If e.Button = MouseButtons.Left Then
'resta la posición del control que manda a la posición de la forma...
posicionX = Control.MousePosition.X - Me.Location.X
'centro del control.
posicionY = Control.MousePosition.Y - Me.Location.Y
End If
End Sub
Private Sub WebBrowser1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles WebBrowser1.MouseMove
If e.Button = MouseButtons.Left Then
oPoint = Control.MousePosition
oPoint.X -= (posicionX)
oPoint.Y -= (posicionY)
Me.Location = oPoint
My.Settings.Save()
End If
End Sub