Bueno, este es otro buen ejemplo de como hacer Drag and Drop pero con TextBox, la idea es que al darle click sostenido, puedan seleccionar todo el texto y luego arrastrarlo de un Textbox a otro.
Lo primero, como en otros casos, declarar una variable de tipo Objetc de nombre Origenes que mantendrá la referencia del objeto de donde iniciamos el drag & Drop.
object Origenes;
En el evengo Load del Formulario debemos habilitar el Drag & Drop de cada TextBox ya que por defecto vienen desactivados
textBox1.AllowDrop = true;
textBox2.AllowDrop = true;
Claro, con el nombre que ustedes le den a los textBox y la cantidad de elementos que controles que deseen activar el D&D.
Luego programamos los eventos
MouseDown
DragEnter
DragDrop
Copien y Peguen el siguiente código en su formulario, pero fuera de cualquier evento, ya que lo que van a pegar son eventos.
private void TextBox_MouseDown(object sender, MouseEventArgs e)
{
Origenes = sender;
TextBox txt = (TextBox)sender;
txt.SelectAll();
txt.DoDragDrop(txt.Text, DragDropEffects.Copy);
}
private void TextBox_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void TextBox_DragDrop(object sender, DragEventArgs e)
{
TextBox txt = (TextBox)sender;
TextBox origen=(TextBox)Origenes;
if (txt != origen)
{
txt.Text = (string)e.Data.GetData(DataFormats.Text);
origen.Text = "";
}
}
una vez terminado, solo ejecútenlo y listo.
Holaaa! q tal? q de tiempo jeje, oye espero que te vaya super bien :)
ResponderEliminarRespecto la entrada, hace tiempo estuve experimentando con el drag and drop, y me funcionó muy bien, pero se me borró :( .. ( estoy trabajando en una aplicacion, un juego en la que quería incluir esa funcion)
Cuando la termine ( si lo consigo algun dia, ya que es por cuenta propia el proyecto jeje) ya lo contaré, igual me animo a compartir el código y demas para ayudar a otras personas jeje
Un besazoo! ^^
Hola Fany, gracias por apoyar la causa, esa es la idea, compartir código y permitir que los nuevos programadores creen mejor código, es la ley de la vida jejejeje....
ResponderEliminarSi te puedo ayudar con tu proyecto sería interesante (o pongo a mis alumnos a que lo programen jejejeje)
Buscame en FaceBook para estar en contacto
Saluditos