Voy a partir este blog con unos ejemplos de Drag&Drop en VB.Net, en los que veremos como arrastrar texto, Arrastrar una imagen, arrastrar una imagen externa a nuestra aplicación, arrastrar archivos y arrastres entre dos listas.
Comentarios:
Dentro de las empresas e instituciones en las que he estado, no he visto mayormente aplicaciones que permitan arrastrar y colocar objetos, siendo éste, un método habitual para los usuarios arraigados al ratón y para los no tanto, así que no se si será por falta de información o por falta de ganas que a las aplicaciones no les agregan esta funcionalidad pero les quita a los usuarios una funcionalidad a la cual están acostumbrados bajo el entorno Windows.
Bueno, veamos lo fácil y sencillo que es todo esto.
Arrastre de texto
Agregamos 2 controles de texto al formulario y cambiamos la propiedad AllowDrop a verdadero del segundo control.
Public Class Form1
Private blnBotonPresionado As Boolean = False
Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
'Aplicamos la funcionalidad solamente al presionar el botón izquiedo del mouse
If e.Button = Windows.Forms.MouseButtons.Left Then
'Ponemos la variable a verdadero que nos indicará que el botón del mouse está presionado
blnBotonPresionado = True
End If
End Sub
Private Sub TextBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove
If blnBotonPresionado Then
'Iniciamos el arrastre
'A través del método DoDragDrop indicamos la información que arrastraremos y
'si lo copiamos, movemos o más. En este caso copiamos.
TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy)
End If
blnBotonPresionado = False
End Sub
Private Sub TextBox2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox2.DragEnter
'Verificamos información que está siendo soltada dentro del control.
If (e.Data.GetDataPresent(DataFormats.Text)) Then
'Mostramos el puntero de copia en una operación arrastrar y soltar.
e.Effect = DragDropEffects.Copy
Else
'Mostramos el puntero normal.
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub TextBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox2.DragDrop
'En esta acción se pega el texto en en control de destino.
TextBox2.Text = e.Data.GetData(DataFormats.Text)
End Sub
End Class
Lo ejecutamos y escribimos en el primer control de texto y lo arrastramos al segundo.
No hay comentarios:
Publicar un comentario