Adăugați suport pentru încărcare de fișiere cu utilizarea intuitivă de glisare și plasare.
Multe aplicații moderne operează pe fișiere pe care un utilizator le poate încărca în sistemul său. Editorii de imagini, IDE-urile de cod și procesoarele de text sunt toate exemple. Dacă construiți o aplicație Windows Form, puteți adăuga cu ușurință această funcționalitate ca parte a interfeței dvs. de utilizator.
Aplicațiile Windows Form vă permit să glisați și să plasați elemente de UI, cum ar fi panouri sau casete cu listă. Puteți utiliza aceste elemente ale interfeței de utilizare pentru a vă crea funcționalitatea de glisare și plasare. Când utilizatorul trage un fișier pe un panou, puteți afișa feedback pe baza acelui fișier.
Cum se creează interfața de utilizare pentru containerul Drag and Drop
Puteți utiliza un element panou pentru a crea interfața de utilizare pentru funcționalitatea de glisare și plasare. Puteți utiliza apoi un element ListBox UI pentru a afișa numele oricăror fișiere pe care un utilizator le trage în panou.
- Creați o nouă aplicație Windows Forms.
- În caseta de instrumente, căutați un element UI din panou și trageți-l pe pânză.
- Evidențiați noul panou. În fereastra de proprietăți, modificați valorile următoarelor proprietăți:
Proprietate
Valoare nouă
Nume
dragDropPanel
Culoare de fundal
Fum alb
BorderStyle
FixedSingle
mărimea
600, 400
Vizibil
Adevărat
- În caseta de instrumente, căutați un element ListBox UI și trageți-l pe pânză. Poziționați-l astfel încât să fie în interiorul panoului și asigurați-vă că există o anumită distanță între ListBox și panou.
- Evidențiați noul ListBox și modificați valorile următoarelor proprietăți:
Proprietate
Valoare nouă
Nume
uploadedFilesList
Culoare de fundal
Fum alb
BorderStyle
Nici unul
mărimea
500, 300
Vizibil
Fals
Cum să adăugați evenimentul Drag and Drop
Poți să folosești evenimente într-o aplicație Windows Form să execute anumite funcții numai atunci când apar anumite evenimente.
Pentru a adăuga funcționalități la panoul de glisare și plasare, va trebui să adăugați două evenimente. Evenimentul „DragEnter” va avea loc atunci când trageți fișiere peste panou. Evenimentul „DragDrop” va avea loc atunci când dați drumul mouse-ului pentru a arunca fișierele în panou.
- Evidențiați elementul UI din panoul exterior.
- În fereastra de proprietăți, faceți clic pe Luminarea pictograma pentru a deschide lista de evenimente.
- Faceți dublu clic pe DragEnter eveniment pentru a genera o nouă funcție. Această funcție se va executa când trageți fișiere peste panou.
- În interiorul noii funcții, schimbați pictograma mouse-ului pentru a indica acțiunea de glisare/deplasare:
privatgoldragDropPanel_DragEnter(Expeditorul obiectului, DragEventArgs e)
{
// Schimbă pictograma mouse-ului
e. Efect = DragDropEffects. Toate;
} - Faceți clic pe Formularul 1.cs [Design] din partea de sus a ferestrei Visual Studio, pentru a reveni la vizualizarea pânzei. Evidențiați elementul UI din panou.
- În fereastra de proprietăți, faceți clic pe Luminarea pictograma pentru a reveni la lista de evenimente. De data aceasta, faceți dublu clic pe Trage si lasa eveniment. Aceasta va genera o altă funcție care se va executa atunci când dați drumul mouse-ului pentru a arunca fișierele în panou.
- În noua funcție DragDrop, obțineți lista fișierelor pe care utilizatorul le trage în panou. Puteți găsi acest lucru în detaliile evenimentului care sunt transmise automat în funcție.
privatgoldragDropPanel_DragDrop(Expeditorul obiectului, DragEventArgs e)
{
șir[] fișiere = (șir[])e. Date. GetData (Formate de date. FileDrop, fals);
}
Cum să afișați lista fișierelor trase
Acum că ați adăugat funcționalitatea pentru ca utilizatorul să tragă și să plaseze fișiere, puteți afișa numele fișierelor folosind elementul ListBox UI.
- În interiorul funcției dragDropPanel_DragDrop(), după ce obțineți lista de fișiere, utilizați o buclă for pentru a parcurge fiecare fișier.
pentru fiecare (var fișier în fișiere)
{
} - În interiorul buclei for, obțineți doar numele fișierului. Separați numele fișierului de calea fișierului și stocați-l într-o variabilă separată. Dacă utilizați un Mac, poate fi necesar să modificați codul pentru a lua în considerare barele oblice înainte în loc de barele oblice inverse.
șir fileName = fișier. Subșir (fișier. LastIndexOf("\\") + 1, dosar. Lungime - (fișier. LastIndexOf("\\") + 1));
- Adăugați numele fișierului la elementul ListBox UI.
încerca
{
uploadedFilesList.Articole.Adăuga(nume de fișier);
}
captură (Excepțieexcepție)
{
Consolă. WriteLine(excepție);
} - ListBox-ul nu este vizibil în mod implicit. După bucla for, modificați vizibilitatea ListBox-ului la adevărat:
uploadedFilesList. Vizibil = Adevărat;
- Modificați constructorul din partea de sus a fișierului. Seteaza AllowDrop și Defilare automată proprietățile panoului de glisare și plasare la true.
public Formularul 1()
{
InitializeComponent();
dragDropPanel. AllowDrop = Adevărat;
dragDropPanel. AutoScroll = Adevărat;
}
Cum să ștergeți lista
După ce utilizatorul a tras elemente în panou, ar putea dori să ștergă lista și să înceapă din nou. Puteți adăuga un buton pentru a șterge lista atunci când utilizatorul face clic pe el.
- Folosind caseta de instrumente, trageți un buton pe pânză.
- Evidențiați butonul. Utilizați fereastra de proprietăți pentru a modifica următoarele proprietăți la noile valori:
Proprietate
Valoare nouă
Nume
clearButton
Text
clar
- Faceți dublu clic pe buton pentru a genera o nouă funcție. Această funcție se va executa când faceți clic pe butonul în timpul execuției:
privatgolclearButton_Click(Expeditorul obiectului, EventArgs e)
{}
- În interiorul funcției, ștergeți conținutul elementului ListBox UI și ascundeți-l:
privatgolclearButton_Click(Expeditorul obiectului, EventArgs e)
{
uploadedFilesList.Articole.Clar();
uploadedFilesList. Vizibil = fals;
}
Cum să testați panoul de glisare și plasare
Pentru a testa funcționalitatea de glisare și plasare, rulați aplicația și trageți câteva fișiere în panou. Dacă este nevoie, poți și tu depanați aplicația Winforms în Visual Studio în timpul execuției. Acest lucru vă va ajuta să înțelegeți ce se întâmplă în fiecare linie de cod.
- Apăsați butonul verde de redare din partea de sus a ferestrei Visual Studio pentru a rula aplicația.
- Trageți câteva fișiere din exploratorul de fișiere și plasați-le în panou. Asigurați-vă că nu rulați Visual Studio în modul administrator. Va trebui să configurați permisiuni de securitate suplimentare pentru glisare și plasare pentru a funcționa în modul administrator.
- Panoul se va actualiza pentru a vă afișa numele fișierelor pe care le-ați tras în panou.
- Trageți suficiente fișiere și veți vedea că panoul de glisare și plasare afișează automat o bară de derulare în partea dreaptă.
- Faceți clic pe clar butonul pentru a goli lista.
Utilizarea funcției de glisare și plasare în aplicațiile Windows Form
Acum sperăm că înțelegeți cum să adăugați funcționalitatea de glisare și plasare în aplicația dvs. Windows Form. Există multe alte funcții pe care le puteți explora pentru a face lucruri interesante cu Windows Forms.