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

VB.NET Discussion :

Accepter le drag&drop d'une URL dans une TextBox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Par défaut Accepter le drag&drop d'une URL dans une TextBox
    Bonjour à tou(te)s,

    Je suis sous Visual Basic 2008 Express. J'ai une Form avec un TextBox. Je souhaite pouvoir faire un Drag&Drop d'une URL depuis un navigateur (IE, Firefox, Chrome, ...) vers cette TextBox.

    Mais ça ne fonctionne pas. Quand j'essaye de glisser l'URL vers la TextBox, le curseur se transforme en "Interdiction de stationner".
    J'ai cherché dans les propriétés de la TextBox pour voir s'il y avait quelque chose comme "Accepter le Drag&Drop", mais je n'ai pas trouvé.

    Si quelqu'un sait comment faire ...

    Merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Salut,

    Il faut que tu spécifies AllowDrop sur la textbox.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Par défaut
    J'ai essayé de faire ça (dans le Form Load), mais ça ne change rien.

    J'ai ajouté ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox1.AllowDrop = True
    J'ai aussi ajouté (pour vérification) un Enabled = False sur un bouton de la form, et le bouton est bien grisé.

    Etrange ...

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    il faut aussi gérer les évènements de drag drop (je ne sais plus leurs nom exacts)
    et dans ces évènements tu peux demander le type de ce qui est dragé, si ca te convient tu peux dire que tu acceptes ce type de chose, et donc l'icone change
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Après vérif sur mon poste, il faut aussi implémenter les event DragOver et DragDrop.

    désolé

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Par défaut


    Je ne comprends toujours pas pourquoi ça ne fonctionne pas.

    J'ai bien la propriété AllowDrop du TextBox qui est à True.
    J'ai ajouté les 2 Sub TextBox_DragDrop et TextBox_DragOver.
    Dans la première, pour l'instant, j'affiche juste un message "Toto".
    Dans la seconde, je cherche à modifier le curseur pour qu'il indique qu'on peut déposer une URL dans le champ.
    Mais le curseur reste désespérément en "Stationnement interdit".

    J'ai placé un MsgBox dans le DragOver, et il s'affiche bien quand je passe avec la souris sur la TextBox, après avoir sélectionné une URL.
    Donc, VB voit bien que je suis en mode Drag&Drop, il voit bien que je passe au dessus d'un champ qui accepte le D&D, mais il refuse toujours le drop....

    Merci de vos conseils et suggestions.

    EDIT : Je crois que j'ai trouvé : il faut ajouter dans le DragOver la ligne ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Effect = DragDropEffects.All

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Oui c'est ça. Le DragOver permet justement de dire comment la control sous jacent se comporte vis à vis du Drag&Drop. Le DragDropEffects.All permet de tout autoriser. DragDropEffects.Cpoy est peut être suffisant.

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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