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 :

Drag n' drop sur RICHtextbox impossible ? - Différence entre textBox et RichTextBox


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Points : 49
    Points
    49
    Par défaut Drag n' drop sur RICHtextbox impossible ? - Différence entre textBox et RichTextBox
    Bonjour,

    Je suis en train de développer un logiciel dans lequel se trouve un RichTextBox et dans celui-ci, je voudrai pouvoir ouvrir un fichier texte par glisser déposer du fichier depuis l'explorateur Windows jusque dans celui-ci.

    Je me débrouille pour le drag n drop mais seulement dans un textbox "normal". Dans le richTextBox, je ne trouve pas d'évènement "dragenter" ou "dragdrop", ce que je trouve curieux.

    Le richTextBox est nécessaire dans ce projet à cause de la propriété "showSelectionMargin" dont je ne peux me passer.

    Pourriez vous m'aider à résoudre ce problème ?

  2. #2
    Membre averti Avatar de blade159
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 226
    Points : 332
    Points
    332
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    public partial class Form1 : Form
            {
     
                public Form1()
                {
                    InitializeComponent();
                    this.richTextBox1.AllowDrop = true;
                    this.richTextBox1.DragEnter += new System.Windows.Forms.DragEventHandler(this.richTextBox1_DragEnter);
                    this.richTextBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.richTextBox1_DragDrop);
     
                }
     
                private void richTextBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
                {
                    if (((DragEventArgs)e).Data.GetDataPresent(DataFormats.FileDrop))
                        ((DragEventArgs)e).Effect = DragDropEffects.Copy;
                    else
                        ((DragEventArgs)e).Effect = DragDropEffects.None;
                }
     
                private void richTextBox1_DragDrop(object sender, DragEventArgs e)
                {
                    if (e.Data.GetDataPresent(DataFormats.FileDrop))
                    {
     
                        // récupère le nom des fichiers
                        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
     
                        // teste le nombre de fichiers passés
                        if (files.Length > 1)
                        {
                            MessageBox.Show("1 seul fichier à la fois.", "trop de fichiers", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else if (files.Length == 1)
                        {
                            try
                            {
                                FileInfo info = new FileInfo(files[0]);
                                if (info.Extension == ".txt")
                                {
                                    richTextBox1.LoadFile(files[0], RichTextBoxStreamType.PlainText);
                                }
                                else if (info.Extension == ".rtf")
                                {
                                    richTextBox1.LoadFile(files[0], RichTextBoxStreamType.RichText);
                                }
                                else
                                {
                                    MessageBox.Show("Seuls les fichiers .txt et .rtf sont acceptés", "erreur de format de fichier", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                            }
                            catch
                            {
                                MessageBox.Show("Error lors de l'ouverture du fichier", "Erreurr!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
     
                    }
                } 
            }
        }
    Si question répondue, clique sur

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    Génial c'est vraiment parfait.
    Merci beaucoup

    Comment se fait-il que ces propriétés ne soient pas intégré à l'explorateur graphique ?

  4. #4
    Membre averti Avatar de blade159
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 226
    Points : 332
    Points
    332
    Par défaut
    ça serait trop facile sinon lol
    Si question répondue, clique sur

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/10/2014, 20h44
  2. Drag and drop sur une PictureBox
    Par abdiouldbody dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/06/2009, 15h55
  3. drag and drop sur une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 30/09/2006, 10h27
  4. [FLASH 8] Drag'n'Drop sur Textfield ???
    Par Begood dans le forum Flash
    Réponses: 5
    Dernier message: 28/03/2006, 11h15
  5. Drag and drop sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 02/08/2005, 10h54

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