Von Sharlene Khan

Fügen Sie Unterstützung für Datei-Uploads mit der intuitiven Benutzerfreundlichkeit von Drag & Drop hinzu.

Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Viele moderne Anwendungen arbeiten mit Dateien, die ein Benutzer auf sein System hochladen kann. Beispiele sind Bildeditoren, Code-IDEs und Textverarbeitungsprogramme. Wenn Sie eine Windows Form-Anwendung erstellen, können Sie diese Funktionalität einfach als Teil Ihrer Benutzeroberfläche hinzufügen.

Windows Form-Anwendungen ermöglichen das Ziehen und Ablegen von UI-Elementen wie Bedienfeldern oder Listenfeldern. Sie können diese UI-Elemente verwenden, um Ihre Drag-and-Drop-Funktionalität zu erstellen. Wenn der Benutzer eine Datei auf einen Bereich zieht, können Sie basierend auf dieser Datei Feedback anzeigen.

So erstellen Sie die Benutzeroberfläche für den Drag & Drop-Container

instagram viewer

Sie können ein Panel-Element verwenden, um die Benutzeroberfläche für die Drag-and-Drop-Funktionalität zu erstellen. Sie können dann ein ListBox-UI-Element verwenden, um die Namen aller Dateien anzuzeigen, die ein Benutzer auf das Bedienfeld zieht.

  1. Erstellen Sie eine neue Windows Forms-Anwendung.
  2. Suchen Sie in der Toolbox nach einem Panel-UI-Element und ziehen Sie es auf die Leinwand.
  3. Markieren Sie das neue Bedienfeld. Ändern Sie im Eigenschaftenfenster die Werte der folgenden Eigenschaften:

    Eigentum

    Neuer Wert

    Name

    DragDropPanel

    Hintergrundfarbe

    Weißer Rauch

    BorderStyle

    FixedSingle

    Größe

    600, 400

    Sichtbar

    WAHR

  4. Suchen Sie in der Toolbox nach einem ListBox-UI-Element und ziehen Sie es auf die Zeichenfläche. Positionieren Sie es so, dass es sich innerhalb des Bedienfelds befindet, und stellen Sie sicher, dass zwischen der ListBox und dem Bedienfeld ein gewisser Abstand besteht.
  5. Markieren Sie die neue ListBox und ändern Sie die Werte der folgenden Eigenschaften:

    Eigentum

    Neuer Wert

    Name

    hochgeladene Dateiliste

    Hintergrundfarbe

    Weißer Rauch

    BorderStyle

    Keiner

    Größe

    500, 300

    Sichtbar

    FALSCH

So fügen Sie das Drag-and-Drop-Ereignis hinzu

Sie können verwenden Ereignisse in einer Windows Form-Anwendung bestimmte Funktionen nur dann auszuführen, wenn bestimmte Ereignisse eintreten.

Um dem Drag-and-Drop-Bedienfeld Funktionalität hinzuzufügen, müssen Sie zwei Ereignisse hinzufügen. Das „DragEnter“-Ereignis tritt auf, wenn Sie Dateien über das Bedienfeld ziehen. Das „DragDrop“-Ereignis tritt auf, wenn Sie die Maus loslassen, um die Dateien in das Bedienfeld zu ziehen.

  1. Markieren Sie das äußere Panel-UI-Element.
  2. Klicken Sie im Eigenschaftenfenster auf die Aufhellung Symbol, um die Ereignisliste zu öffnen.
  3. Doppelklicken Sie auf die ZiehenEnter Ereignis, um eine neue Funktion zu generieren. Diese Funktion wird ausgeführt, wenn Sie Dateien über das Bedienfeld ziehen.
  4. Ändern Sie in der neuen Funktion das Maussymbol, um die Drag/Drop-Aktion anzuzeigen:
    PrivatgeländeLeeredragDropPanel_DragEnter(Objektsender, DragEventArgs e)
    {
    // Ändert das Symbol der Maus
    e. Effekt = DragDropEffects. Alle;
    }
  5. Klick auf das Formular 1.cs [Entwurf] oben im Visual Studio-Fenster, um zur Zeichenbereichsansicht zurückzukehren. Markieren Sie das Panel-UI-Element.
  6. Klicken Sie im Eigenschaftenfenster auf die Aufhellung Symbol, um zur Ereignisliste zurückzukehren. Doppelklicken Sie dieses Mal auf die Ziehen und loslassen Fall. Dadurch wird eine weitere Funktion generiert, die ausgeführt wird, wenn Sie die Maus loslassen, um die Dateien im Bedienfeld abzulegen.
  7. Rufen Sie in der neuen DragDrop-Funktion die Liste der Dateien ab, die der Benutzer in das Bedienfeld zieht. Diese finden Sie in den Ereignisdetails, die automatisch an die Funktion übergeben werden.
    PrivatgeländeLeeredragDropPanel_DragDrop(Objektsender, DragEventArgs e)
    {
    string[] files = (string[])e. Daten. GetData (Datenformate. FileDrop, FALSCH);
    }

So zeigen Sie die Liste der gezogenen Dateien an

Nachdem Sie die Funktionalität für den Benutzer zum Ziehen und Ablegen von Dateien hinzugefügt haben, können Sie die Namen der Dateien mithilfe des ListBox-UI-Elements anzeigen.

  1. Verwenden Sie in der Funktion dragDropPanel_DragDrop() nach dem Abrufen der Dateiliste eine for-Schleife, um jede Datei zu durchlaufen.
    für jede (Var Datei in Dateien)
    {

    }
  2. Rufen Sie innerhalb der for-Schleife nur den Namen der Datei ab. Trennen Sie den Namen der Datei vom Dateipfad und speichern Sie ihn in einer separaten Variablen. Wenn Sie einen Mac verwenden, müssen Sie möglicherweise den Code ändern, um Schrägstriche anstelle von umgekehrten Schrägstrichen zu berücksichtigen.
    Zeichenfolge Dateiname = Datei. Teilstring (Datei. LetzterIndexVon("\\") + 1, Datei. Länge - (Datei. LetzterIndexVon("\\") + 1));
  3. Fügen Sie den Namen der Datei zum ListBox-Oberflächenelement hinzu.
    versuchen
    {
    hochgeladene Dateiliste.Artikel.Hinzufügen(Dateinamen);
    }
    fangen (AusnahmeAusnahme)
    {
    Konsole. WriteLine(Ausnahme);
    }
  4. Die ListBox ist standardmäßig nicht sichtbar. Ändern Sie nach der for-Schleife die Sichtbarkeit der ListBox auf true:
    hochgeladene Dateiliste. Sichtbar = WAHR;
  5. Ändern Sie den Konstruktor am Anfang der Datei. Stellen Sie die ein AllowDrop Und Auto Scroll Eigenschaften des Drag-and-Drop-Bedienfelds auf „true“.
    öffentlich Form 1()
    {
    Initialisieren der Komponente();
    DragDropPanel. AllowDrop = WAHR;
    DragDropPanel. AutoScroll = WAHR;
    }

So löschen Sie die Liste

Nachdem der Benutzer Elemente in das Bedienfeld gezogen hat, möchte er möglicherweise die Liste löschen und neu beginnen. Sie können eine Schaltfläche hinzufügen, um die Liste zu löschen, wenn der Benutzer darauf klickt.

  1. Ziehen Sie mithilfe der Toolbox eine Schaltfläche auf die Leinwand.
  2. Markieren Sie die Schaltfläche. Verwenden Sie das Eigenschaftenfenster, um die folgenden Eigenschaften auf die neuen Werte zu ändern:

    Eigentum

    Neuer Wert

    Name

    clearButton

    Text

    Klar

  3. Doppelklicken Sie auf die Schaltfläche, um eine neue Funktion zu erstellen. Diese Funktion wird ausgeführt, wenn Sie zur Laufzeit auf die Schaltfläche klicken:
    PrivatgeländeLeereclearButton_Click(Objekt Sender, EventArgs e)
    {

    }

  4. Löschen Sie innerhalb der Funktion den Inhalt des ListBox-UI-Elements und blenden Sie es aus:
    PrivatgeländeLeereclearButton_Click(Objekt Sender, EventArgs e)
    {
    hochgeladene Dateiliste.Artikel.Klar();
    hochgeladene Dateiliste. Sichtbar = FALSCH;
    }

So testen Sie das Drag & Drop-Bedienfeld

Führen Sie zum Testen der Drag-and-Drop-Funktion die Anwendung aus und ziehen Sie einige Dateien in das Bedienfeld. Bei Bedarf können Sie auch Debuggen Sie Ihre Winforms-Anwendung in Visual Studio zur Laufzeit. Dies hilft Ihnen zu verstehen, was in jeder Codezeile passiert.

  1. Drücken Sie die grüne Wiedergabeschaltfläche oben im Visual Studio-Fenster, um die Anwendung auszuführen.
  2. Ziehen Sie einige Dateien aus Ihrem Datei-Explorer und legen Sie sie im Bedienfeld ab. Stellen Sie sicher, dass Sie Visual Studio nicht im Administratormodus ausführen. Sie müssen zusätzliche Sicherheitsberechtigungen für Drag & Drop konfigurieren, um im Administratormodus zu funktionieren.
  3. Das Bedienfeld wird aktualisiert und zeigt Ihnen die Namen der Dateien an, die Sie in das Bedienfeld gezogen haben.
  4. Ziehen Sie genügend Dateien und Sie werden sehen, dass das Drag & Drop-Bedienfeld automatisch eine Bildlaufleiste auf der rechten Seite anzeigt.
  5. Klick auf das Klar Schaltfläche, um die Liste zu leeren.

Verwenden der Drag-and-Drop-Funktion in Windows Form-Apps

Jetzt wissen Sie hoffentlich, wie Sie Ihrer Windows Form-Anwendung Drag-and-Drop-Funktionen hinzufügen. Es gibt viele andere Funktionen, die Sie erkunden können, um interessante Dinge mit Windows Forms zu tun.

Abonniere unseren Newsletter

Kommentare

AktieTwitternAktieAktieAktie
Kopieren
Email
Aktie
AktieTwitternAktieAktieAktie
Kopieren
Email

Link in die Zwischenablage kopiert

Verwandte Themen

  • Programmierung
  • Programmierung
  • Dateimanager
  • Web Entwicklung

Über den Autor

Sharlene Khan (71 veröffentlichte Artikel)

Shay arbeitet Vollzeit als Softwareentwickler und schreibt gerne Leitfäden, um anderen zu helfen. Sie hat einen Bachelor of IT und hat bereits Erfahrung in der Qualitätssicherung und Nachhilfe. Shay liebt Spiele und spielt Klavier.