Traspasar datos de mas de un Textbox
-
miércoles, 15 de agosto de 2012 13:16
Buenas,
Os pongo en antecedentes haber si me podeis ayudar.
Tengo el panel2 con dos textbox el TextBox4 y TextBox2 y el panel1 con TextBox1 y TextBox3. Entonces lo que quiero es que al arrastrar el panel 2 hacia el panel 1 se copie lo que hay en el TextBox2 al TextBox1 y lo que hay en el TextBox4 al TextBox3.
De momento lo que he encontrado es poder copiar del TextBox2 al TextBox1 pero no he tenido exito en hacerlo todo a la vez.
Os dejo el codigo he tengo de momento.
Private MouseIsDown As Boolean = False
Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Panel1.DragDrop
TextBox1.Text = e.Data.GetData(DataFormats.Text)
End Sub
Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Panel1.DragEnter
If (e.Data.GetDataPresent(DataFormats.Text)) Then
e.Effect = DragDropEffects.Link
Else
e.Effect = DragDropEffects.Link
End If
End Sub
Private Sub TextBox2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel2.MouseDown
MouseIsDown = True
End Sub
Private Sub TextBox2_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel2.MouseMove
If MouseIsDown Then
TextBox2.DoDragDrop(TextBox2.Text, DragDropEffects.Link)
End If
MouseIsDown = False
End SubGracias de antemano y un saludo a todos
- Editado Darkchop miércoles, 15 de agosto de 2012 13:37 Modificar codigo
Todas las respuestas
-
miércoles, 15 de agosto de 2012 17:29
Concateno los textos usando el caracter \u00A0, para permitir que los textboxes sean multiline. Si por algún motivo tus textos usan el espacio de ancho cero, deberás buscar otro delimitador (digamos \u4910).
Arrastras haciendo clic desde el client area del panel2 y sueltas sobre cualquier lugar del panel1.
Imports System.Text Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Panel1.AllowDrop = True End Sub Private Sub Panel2_MouseMove(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel2.MouseMove If e.Button = Windows.Forms.MouseButtons.Left Then Dim sb As New StringBuilder sb.Append(Panel2.Controls("TextBox2").Text) sb.Append(ChrW(&HA0)) sb.Append(Panel2.Controls("TextBox4").Text) Panel2.DoDragDrop(sb.ToString(), DragDropEffects.Copy) End If End Sub Private Sub Panel1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Panel1.DragEnter If e.Data.GetDataPresent(DataFormats.Text) Then e.Effect = DragDropEffects.Copy Else e.Effect = DragDropEffects.None End If End Sub Private Sub Panel1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Panel1.DragDrop Dim datos() As String = e.Data.GetData(DataFormats.Text).ToString().Split(ChrW(&HA0)) If datos.Length = 2 Then Panel1.Controls("TextBox1").Text = datos(0) Panel1.Controls("TextBox3").Text = datos(1) End If End Sub End Class- Marcado como respuesta Enrique M. MontejoMVP, Moderator jueves, 16 de agosto de 2012 16:27
- Desmarcado como respuesta Enrique M. MontejoMVP, Moderator jueves, 16 de agosto de 2012 17:14
- Propuesto como respuesta Enrique M. MontejoMVP, Moderator jueves, 16 de agosto de 2012 17:15
- Marcado como respuesta Darkchop jueves, 16 de agosto de 2012 17:41
-
jueves, 16 de agosto de 2012 7:55
Walter Muchas Gracias por la informacion la verdad es que es lo que estaba buscando.
Otra consulta relacionada con este tema. Yo lo que quiero es pasar esta informacion y otra entre dos Forms(hijos) el codigo que me as puesto me sirve para pasar texto de un texbox a otro de otro form esto es genial.
Pero mi otra pregunta seria si se puede pasar Progressbar, botones, Checkbox y sus codigos hechos para el progressbar o los botones o los checkbox, no se si me explico bien???
te agradeceria si me dices si esto es posible o no.
Muchas gracias de antemano y un saludo.
-
jueves, 16 de agosto de 2012 17:42okis ya lo he marcado como respuesta pero me puedes contestar igualmente????

