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