IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#]Drag-drop entre 2 richtextbox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut [C#]Drag-drop entre 2 richtextbox
    Bonjour,


    J'essaie d'implementer un drag & drop entre 2 richtextbox mais je rencontre un problème.
    J'ai créé une form avec 2 richtextbox, RTBSource et RTBDest.
    Sur RTBDest, je définis la propriété AllowDrop à True et les events DragEnter et DragDrop comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            private void RTB_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.Text))
                    e.Effect = DragDropEffects.Copy;
                else
                    e.Effect = DragDropEffects.None;
            }
     
            private void RTB_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
            {
                // Replace source text with the dropped one
                ((RichTextBox)sender).Text = e.Data.GetData(DataFormats.Text).ToString();
            }
    Après celà, si je fais un glisser-déplacer depuis wordpad par exemple, vers le RTBDest, ça fonctionne. Par contre, si je sélectionne un texte présent dans RTBSource et que j'essaie de le glisser-déplacer vers RTBDest, rien ne se passe, et le curseur reste sous la forme "interdit".
    Que faut-il faire ? Y a-t-il quelque chose à ajouter au niveau de RTBSource ?

    Merci.

  2. #2
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    J'ai trouvé... Il faut implémenter le drag de la source dans l'event MouseDown.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void RTB_MouseDown(object sender, MouseEventArgs e)
    {
        // Starts a drag-and-drop operation.
        if(RTB.SelectedText.Length > 0)
        {
            RTB.DoDragDrop(RTB.SelectedText, DragDropEffects.Copy);
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Drag & Drop entre 2 DataGridView
    Par kritopal dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/01/2011, 07h31
  2. Drag&Drop entre deux zones de liste
    Par Herman dans le forum IHM
    Réponses: 1
    Dernier message: 28/06/2007, 19h14
  3. OLE , drag & drop entre 2 CListCtrl ?
    Par gabule dans le forum MFC
    Réponses: 1
    Dernier message: 26/04/2007, 09h55
  4. Drag&Drop entre un panel et un JTextField
    Par theBrave dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 04/04/2006, 14h25
  5. Drag & Drop entre 2 listBox : transfert items
    Par netah25 dans le forum C++Builder
    Réponses: 2
    Dernier message: 09/01/2006, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo