Deplacer un string d'un textbox a une autre [Résolu]

Signaler
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Bonjour, je voulais savoir si on pouvais faire un drag&drop d'un string d'une textbox a une autre.
Merci.

15 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Salut,
Voilà un petit exemple (placer 2 textbox sur une form, nommée textbox1 et textbox2), puis générer les events nécessaires :


private void textBox2_DragDrop(object sender, DragEventArgs e)
{
this.textBox2.Text = (string)e.Data.GetData(typeof(string));
}


private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
// Left button has been pressed
this.textBox1.DoDragDrop(this.textBox1.Text, DragDropEffects.All | DragDropEffects.Link);
}


private void textBox2_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(string))) e.Effect = DragDropEffects.Move;
}


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Les méthodes que je t'ai mises plus haut (le code) sont exécuter via un couple delegate/event. Pour que les events sont exécutés, il faut les abonnés, soit via le designer (code généré automatiquement) soit par le code.
Exemple de code que le designer a généré (vérifie que tu as des lignes similaires!) :



this.textBox1.MouseDown +=
new System.Windows.Forms.
MouseEventHandler(
this.textBox1_MouseDown);
this.textBox2.DragDrop +=
new System.Windows.Forms.
DragEventHandler(
this.textBox2_DragDrop);

this.textBox2.DragEnter +=
new System.Windows.Forms.
DragEventHandler(
this.textBox2_DragEnter);


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Euh, je viens d'essayer ca ne fonctionne pas car je ne peus pas séléctionner ce qu'il y a dans la texbox. enfin je peus séléectioner
mais je peus pas la déplacer vers l'autre textbox. Merci quand meme :o)
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Si si ca marche, tu dois encore sélectionner la property AllowDrop de la 2ème textBox à true.


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

euh oui j'avais fais sa :o). mais fonctionne pas. je selectionne le text de la textbox une et quand je veus le glisser dans la textbox2
il deselectionne ma selection et se remet avec la barre qui clignotte |
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Pas besoin de sélectionner :
Tu presses le bouton gauche de ta souris quand tu es sur la textBox1, tu le gardes enfoncer tu te déplaces jusque dans la textBox2 et la tu lâches. C'est tout.


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

mdr je suis désolé mais je ni arrive pas :s. bah ecoute c'est pas grave je vais regarder plus attentivement.
Merci a toi.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Faire voir tout le code que tu as mis stp (y compris celui généré par le designer)


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

voila le code, mais le code designer je le choppe ou?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
using System;


using System.Collections.Generic;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Text;


using System.Windows.Forms;


namespace DD


{



public
partial
class
Form1 :
Form


{



public Form1()


{


InitializeComponent();


}



private
void button1_Click(
object sender,
EventArgs e)


{



PersonnageCreation01 affiche =
new
PersonnageCreation01();


affiche.Show();


}



private
void Form1_Load(
object sender,
EventArgs e)


{


}



private
void textBox2_DragDrop(
object sender,
DragEventArgs e)


{



this.textBox2.Text = (
string)e.Data.GetData(
typeof(
string));


}



private
void textBox1_MouseDown(
object sender,
MouseEventArgs e)


{

if ((e.Button &
MouseButtons.Left) ==
MouseButtons.Left)
// Left button has been pressed



this.textBox1.DoDragDrop(
this.textBox1.Text,
DragDropEffects.All |
DragDropEffects.Link);


}



private
void textBox2_DragEnter(
object sender,
DragEventArgs e)


{



if (e.Data.GetDataPresent(
typeof(
string))) e.Effect =
DragDropEffects.Move;


}
}


}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Que fais le boutton sur ta form?
Le code tu le choppe dans le fichier maForm.Designer.cs


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

le bouton c'est pour afficher une autre form il sert a rien la, mais jfais mes test sur la form la. pour se qui es du code design je ne l'ai pas du fait que je sois avec visual c# expresse peut etre?.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Euh oui peut-être, je ne connais pas bien ce soft.
Sois sur que tu es bien abonné aux events DragEnter, MouseDown et DragDrop.

Si tu as fait ça et que tu as pris le code que je t'ai donné, alors ça va fonctionner!


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

"Sois sur que tu es bien abonné aux events DragEnter, MouseDown et DragDrop"
"abonné" c'est a dire ? desolé le vocabulaire est un peu limite encore.
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Merci enormement tu es un chef ;o) .
il ne m'avait pas mis les ligne la alors je l'ai rajouté et ca fonctionne rolala merci 1000 fois.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Bah de rieh


<HR>
[/auteurdetail.aspx?ID=13319
[Pub] ]http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever