Maison >développement back-end >C++ >Comment implémenter le glisser-déposer dans les applications C# ?

Comment implémenter le glisser-déposer dans les applications C# ?

DDD
DDDoriginal
2025-01-07 07:34:40600parcourir

How to Implement Drag and Drop in C# Applications?

Fonctionnalité glisser-déposer pour les applications C#

Question :

Comment puis-je incorporer le glisser et déposez la fonctionnalité dans une application C#, similaire à la fonctionnalité vue dans Turbo C de Borland environnement ?

Réponse :

Pour implémenter la fonctionnalité glisser-déposer en C#, vous pouvez utiliser les bonnes pratiques suivantes :

Extrait de code :

Pour illustrer le processus de glisser-déposer, voici un exemple de code extrait :

public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
      this.AllowDrop = true;
      this.DragEnter += new DragEventHandler(Form1_DragEnter);
      this.DragDrop += new DragEventHandler(Form1_DragDrop);
    }

    void Form1_DragEnter(object sender, DragEventArgs e) {
      if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
    }

    void Form1_DragDrop(object sender, DragEventArgs e) {
      string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
      foreach (string file in files) Console.WriteLine(file);
    }
  }

Explication :

  • Définissez AllowDrop sur true pour activer le glisser-déposer sur le formulaire.
  • Enregistrez le DragEnter et les gestionnaires d'événements DragDrop.
  • Dans DragEnter, vérifiez si les données déplacées contiennent des chemins de fichiers (via GetDataPresent(DataFormats.FileDrop)). Si tel est le cas, remplacez l'effet par DragDropEffects.Copy.
  • Dans DragDrop, convertissez les données en un tableau de chaînes et imprimez les chemins de fichiers sur la console.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn