Przez Sharlene Khan

Dodaj obsługę przesyłania plików dzięki intuicyjnej obsłudze przeciągania i upuszczania.

Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Wiele nowoczesnych aplikacji działa na plikach, które użytkownik może przesłać do swojego systemu. Edytory obrazów, IDE kodu i edytory tekstu to przykłady. Jeśli budujesz aplikację Windows Form, możesz łatwo dodać tę funkcję jako część swojego interfejsu użytkownika.

Aplikacje Windows Form umożliwiają przeciąganie i upuszczanie elementów interfejsu użytkownika, takich jak panele lub pola list. Tych elementów interfejsu użytkownika można używać do tworzenia funkcji przeciągania i upuszczania. Gdy użytkownik przeciągnie plik na panel, możesz wyświetlić informację zwrotną na podstawie tego pliku.

Jak utworzyć interfejs użytkownika dla kontenera przeciągnij i upuść

Możesz użyć elementu panelu, aby utworzyć interfejs użytkownika dla funkcji przeciągania i upuszczania. Następnie możesz użyć elementu interfejsu użytkownika ListBox, aby wyświetlić nazwy dowolnych plików przeciągniętych przez użytkownika na panel.

  1. Utwórz nową aplikację Windows Forms.
  2. W przyborniku wyszukaj element interfejsu użytkownika panelu i przeciągnij go na obszar roboczy.
  3. Zaznacz nowy panel. W oknie właściwości zmień wartości następujących właściwości:

    Nieruchomość

    Nowa wartość

    Nazwa

    PrzeciągnijUpuśćPanel

    PowrótKolor

    Biały dym

    Styl obramowania

    Naprawiono pojedynczy

    Rozmiar

    600, 400

    Widoczny

    PRAWDA

  4. W przyborniku wyszukaj element interfejsu użytkownika ListBox i przeciągnij go na kanwę. Ustaw go tak, aby znajdował się wewnątrz panelu i upewnij się, że między ListBox a panelem jest trochę odstępu.
  5. Zaznacz nowy ListBox i zmień wartości następujących właściwości:

    Nieruchomość

    Nowa wartość

    Nazwa

    przesłana lista plików

    PowrótKolor

    Biały dym

    Styl obramowania

    Nic

    Rozmiar

    500, 300

    Widoczny

    FAŁSZ

Jak dodać zdarzenie „przeciągnij i upuść”.

Możesz użyć zdarzenia w aplikacji Windows Form wykonywać określone funkcje tylko wtedy, gdy wystąpią określone zdarzenia.

Aby dodać funkcjonalność do panelu przeciągnij i upuść, musisz dodać dwa zdarzenia. Zdarzenie „DragEnter” wystąpi podczas przeciągania plików nad panelem. Zdarzenie „DragDrop” wystąpi, gdy puścisz mysz, aby upuścić pliki do panelu.

  1. Zaznacz element interfejsu panelu zewnętrznego.
  2. W oknie właściwości kliknij na Rozjaśnianie ikonę, aby otworzyć listę zdarzeń.
  3. Kliknij dwukrotnie na PrzeciągnijWprowadź zdarzenie, aby wygenerować nową funkcję. Ta funkcja zostanie wykonana podczas przeciągania plików nad panelem.
  4. Wewnątrz nowej funkcji zmień ikonę myszy, aby wskazać akcję przeciągania/upuszczania:
    prywatnypróżniadragDropPanel_DragEnter(nadawca obiektu, DragEventArgs e)
    {
    // Zmienia ikonę myszy
    mi. Efekt = DragDropEfekty. Wszystko;
    }
  5. Kliknij na Formularz 1.cs [Projekt] w górnej części okna programu Visual Studio, aby wrócić do widoku kanwy. Zaznacz element interfejsu panelu.
  6. W oknie właściwości kliknij na Rozjaśnianie ikonę, aby wrócić do listy zdarzeń. Tym razem kliknij dwukrotnie plik Przeciągnij i upuść wydarzenie. Spowoduje to wygenerowanie kolejnej funkcji, która zostanie wykonana, gdy puścisz mysz, aby upuścić pliki do panelu.
  7. Wewnątrz nowej funkcji DragDrop uzyskaj listę plików, które użytkownik przeciąga do panelu. Można to znaleźć w szczegółach zdarzenia, które są automatycznie przekazywane do funkcji.
    prywatnypróżniadragDropPanel_DragDrop(nadawca obiektu, DragEventArgs e)
    {
    string[] pliki = (string[])e. Dane. GetData (DataFormats. Upuść plik, FAŁSZ);
    }

Jak wyświetlić listę przeciągniętych plików

Teraz, po dodaniu funkcji przeciągania i upuszczania plików przez użytkownika, możesz wyświetlać nazwy plików za pomocą elementu interfejsu użytkownika ListBox.

  1. Wewnątrz funkcji dragDropPanel_DragDrop(), po pobraniu listy plików, użyj pętli for, aby przejrzeć każdy plik.
    dla każdego (rozm plik w plikach)
    {

    }
  2. Wewnątrz pętli for pobierz tylko nazwę pliku. Oddziel nazwę pliku od ścieżki do pliku i zapisz ją w osobnej zmiennej. Jeśli używasz komputera Mac, może być konieczne zmodyfikowanie kodu w celu uwzględnienia ukośników w przód zamiast ukośników odwrotnych.
    ciąg nazwa_pliku = plik. Podciąg (plik. LastIndexOf("\\") + 1, plik. Długość - (plik. LastIndexOf("\\") + 1));
  3. Dodaj nazwę pliku do elementu interfejsu użytkownika ListBox.
    próbować
    {
    przesłana lista plików.Rzeczy.Dodać(Nazwa pliku);
    }
    złapać (Wyjątekwyjątek)
    {
    Konsola. Wiersz zapisu(wyjątek);
    }
  4. ListBox nie jest domyślnie widoczny. Po pętli for zmień widoczność ListBox na true:
    przesłana lista plików. widoczne = PRAWDA;
  5. Zmodyfikuj konstruktora na górze pliku. Ustaw ZezwólUpuść I Auto Scroll właściwości panelu przeciągnij i upuść na true.
    publiczny Formularz 1()
    {
    InitializeComponent();
    PrzeciągnijUpuśćPanel. Zezwól na upuszczenie = PRAWDA;
    PrzeciągnijUpuśćPanel. Automatyczne przewijanie = PRAWDA;
    }

Jak wyczyścić listę

Po przeciągnięciu elementów do panelu użytkownik może chcieć wyczyścić listę i zacząć od nowa. Możesz dodać przycisk, który wyczyści listę, gdy użytkownik ją kliknie.

  1. Za pomocą przybornika przeciągnij przycisk na obszar roboczy.
  2. Zaznacz przycisk. Użyj okna właściwości, aby zmienić następujące właściwości na nowe wartości:

    Nieruchomość

    Nowa wartość

    Nazwa

    wyczyśćPrzycisk

    Tekst

    Jasne

  3. Kliknij dwukrotnie przycisk, aby wygenerować nową funkcję. Ta funkcja zostanie wykonana po kliknięciu przycisku w czasie wykonywania:
    prywatnypróżniawyczyśćButton_Click(nadawca obiektu, EventArgs e)
    {

    }

  4. Wewnątrz funkcji wyczyść zawartość elementu interfejsu użytkownika ListBox i ukryj go:
    prywatnypróżniawyczyśćButton_Click(nadawca obiektu, EventArgs e)
    {
    przesłana lista plików.Rzeczy.Jasne();
    przesłana lista plików. widoczne = FAŁSZ;
    }

Jak przetestować panel przeciągnij i upuść

Aby przetestować funkcję przeciągnij i upuść, uruchom aplikację i przeciągnij kilka plików do panelu. W razie potrzeby możesz również debugować swoją aplikację WinForm w Visual Studio w czasie wykonywania. Pomoże ci to zrozumieć, co dzieje się w każdym wierszu kodu.

  1. Naciśnij zielony przycisk odtwarzania w górnej części okna programu Visual Studio, aby uruchomić aplikację.
  2. Przeciągnij niektóre pliki z eksploratora plików i upuść je w panelu. Upewnij się, że nie używasz programu Visual Studio w trybie administratora. Będziesz musiał skonfigurować dodatkowe uprawnienia bezpieczeństwa, aby przeciągać i upuszczać, aby działać w trybie administratora.
  3. Panel zaktualizuje się, aby wyświetlić nazwy plików przeciągniętych do panelu.
  4. Przeciągnij wystarczającą liczbę plików, a zobaczysz, że panel przeciągania i upuszczania automatycznie wyświetla pasek przewijania po prawej stronie.
  5. Kliknij na Jasne przycisk, aby opróżnić listę.

Korzystanie z funkcji przeciągania i upuszczania w aplikacjach Windows Form

Mam nadzieję, że teraz rozumiesz, jak dodać funkcję przeciągania i upuszczania do aplikacji Windows Form. Istnieje wiele innych funkcji, które można eksplorować, aby robić interesujące rzeczy w Windows Forms.

Zapisz się do naszego newslettera

Uwagi

UdziałĆwierkaćUdziałUdziałUdział
Kopiuj
E-mail
Udział
UdziałĆwierkaćUdziałUdziałUdział
Kopiuj
E-mail

Link skopiowany do schowka

Powiązane tematy

  • Programowanie
  • Programowanie
  • Przeglądarka plików
  • Tworzenie stron internetowych

O autorze

Sharlene Khan (71 opublikowanych artykułów)

Shay pracuje na pełny etat jako programista i lubi pisać poradniki pomagające innym. Ma tytuł Bachelor of IT i ma wcześniejsze doświadczenie w zapewnianiu jakości i korepetycjach. Shay uwielbia gry i grę na pianinie.