Legg til støtte for filopplasting med den intuitive brukervennligheten til dra og slipp.
Mange moderne applikasjoner opererer på filer som en bruker kan laste opp til systemet sitt. Bilderedigerere, kode-IDE-er og tekstbehandlere er alle eksempler. Hvis du bygger en Windows Form-applikasjon, kan du enkelt legge til denne funksjonaliteten som en del av brukergrensesnittet ditt.
Windows Form-applikasjoner lar deg dra og slippe UI-elementer som paneler eller listebokser. Du kan bruke disse UI-elementene til å lage dra-og-slipp-funksjonaliteten. Når brukeren drar en fil til et panel, kan du vise tilbakemelding basert på den filen.
Hvordan lage brukergrensesnittet for Dra og slipp-beholderen
Du kan bruke et panelelement til å lage brukergrensesnittet for dra og slipp-funksjonalitet. Du kan deretter bruke et ListBox UI-element for å vise navnene på filene en bruker drar inn på panelet.
- Opprett et nytt Windows Forms-program.
- I verktøykassen, søk etter et panel-UI-element, og dra det til lerretet.
- Uthev det nye panelet. I egenskapsvinduet endrer du verdiene for følgende egenskaper:
Eiendom
Ny verdi
Navn
draDropPanel
Baksidefarge
WhiteSmoke
BorderStyle
FixedSingle
Størrelse
600, 400
Synlig
ekte
- I verktøykassen, søk etter et ListBox UI-element, og dra det inn på lerretet. Plasser den slik at den er inne i panelet, og sørg for at det er litt avstand mellom ListBox og panel.
- Marker den nye ListBox, og endre verdiene for følgende egenskaper:
Eiendom
Ny verdi
Navn
opplastet filliste
Baksidefarge
WhiteSmoke
BorderStyle
Ingen
Størrelse
500, 300
Synlig
Falsk
Slik legger du til Dra og slipp-hendelsen
Du kan bruke hendelser i en Windows Form-applikasjon å utføre visse funksjoner bare når visse hendelser inntreffer.
For å legge til funksjonalitet til dra og slipp-panelet, må du legge til to hendelser. "DragEnter"-hendelsen vil oppstå når du drar filer over panelet. "DragDrop"-hendelsen vil oppstå når du slipper musen for å slippe filene inn i panelet.
- Marker det ytre panelets brukergrensesnittelement.
- I egenskapsvinduet klikker du på Lightening ikonet for å åpne hendelseslisten.
- Dobbeltklikk på Dra Enter hendelse for å generere en ny funksjon. Denne funksjonen vil kjøre når du drar filer over panelet.
- Inne i den nye funksjonen endrer du ikonet til musen for å indikere dra/slipp-handlingen:
privattomromdragDropPanel_DragEnter(objektavsender, DragEventArgs e)
{
// Endrer ikonet til musen
e. Effect = DragDropEffects. Alle;
} - Klikk på Form 1.cs [Design] fanen øverst i Visual Studio-vinduet for å gå tilbake til lerretsvisningen. Uthev panelets brukergrensesnittelement.
- I egenskapsvinduet klikker du på Lightening ikon for å gå tilbake til hendelseslisten. Denne gangen dobbeltklikker du på Dra slipp begivenhet. Dette vil generere en annen funksjon som vil kjøre når du slipper musen for å slippe filene inn i panelet.
- Inne i den nye DragDrop-funksjonen får du listen over filer som brukeren drar inn i panelet. Du finner dette i hendelsesdetaljene som automatisk sendes inn i funksjonen.
privattomromdragDropPanel_DragDrop(objektavsender, DragEventArgs e)
{
streng[] filer = (streng[])e. Data. GetData (DataFormats. FileDrop, falsk);
}
Slik viser du listen over drade filer
Nå som du har lagt til funksjonaliteten for brukeren for å dra og slippe filer, kan du vise navnene på filene ved å bruke ListBox UI-elementet.
- Inne i dragDropPanel_DragDrop()-funksjonen, etter å ha fått listen over filer, bruk en for-løkke for å gå gjennom hver fil.
for hver (var fil i filer)
{
} - Inne i for-løkken får du bare navnet på filen. Skille navnet på filen fra filbanen, og lagre det i en egen variabel. Hvis du bruker en Mac, må du kanskje endre koden for å ta hensyn til skråstreker fremover i stedet for skråstreker.
streng filnavn = fil. Understreng (fil. LastIndexOf("\\") + 1, fil. Lengde - (fil. LastIndexOf("\\") + 1));
- Legg til navnet på filen i ListBox UI-elementet.
prøve
{
opplastet filliste.Elementer.Legg til(filnavn);
}
å fange (Unntakunntak)
{
Konsoll. WriteLine(unntak);
} - ListBox er ikke synlig som standard. Etter for-løkken endrer du synligheten til ListBox til sann:
opplastet filliste. Synlig = ekte;
- Endre konstruktøren øverst i filen. Sett TillatDrop og AutoScroll egenskapene til dra og slipp-panelet til sann.
offentlig Form1()
{
InitializeComponent();
draDropPanel. TillatDrop = ekte;
draDropPanel. AutoScroll = ekte;
}
Slik sletter du listen
Etter at brukeren har dratt elementer inn i panelet, vil de kanskje tømme listen og starte på nytt. Du kan legge til en knapp for å tømme listen når brukeren klikker på den.
- Bruk verktøykassen til å dra en knapp inn på lerretet.
- Marker knappen. Bruk egenskapsvinduet for å endre følgende egenskaper til de nye verdiene:
Eiendom
Ny verdi
Navn
clear-knappen
Tekst
Klar
- Dobbeltklikk på knappen for å generere en ny funksjon. Denne funksjonen vil kjøre når du klikker på knappen under kjøring:
privattomromclearButton_Click(objektavsender, EventArgs e)
{}
- Inne i funksjonen fjerner du innholdet i ListBox UI-elementet og skjuler det:
privattomromclearButton_Click(objektavsender, EventArgs e)
{
opplastet filliste.Elementer.Klar();
opplastet filliste. Synlig = falsk;
}
Slik tester du dra og slipp-panelet
For å teste dra og slipp-funksjonaliteten, kjør programmet og dra noen filer inn i panelet. Om nødvendig kan du også feilsøk Winforms-applikasjonen din i Visual Studio under kjøring. Dette vil hjelpe deg å forstå hva som skjer i hver linje med kode.
- Trykk på den grønne avspillingsknappen øverst i Visual Studio-vinduet for å kjøre programmet.
- Dra noen filer fra filutforskeren, og slipp dem inn i panelet. Pass på at du ikke kjører Visual Studio i administratormodus. Du må konfigurere ekstra sikkerhetstillatelser for dra og slipp for å fungere i administratormodus.
- Panelet vil oppdateres for å vise deg navnene på filene du dro inn i panelet.
- Dra nok filer, og du vil se at dra og slipp-panelet automatisk viser et rullefelt på høyre side.
- Klikk på Klar for å tømme listen.
Bruke dra og slipp-funksjonalitet i Windows-skjemaapper
Nå forstår du forhåpentligvis hvordan du legger til dra og slipp-funksjonalitet i Windows Form-applikasjonen. Det er mange andre funksjoner du kan utforske for å gjøre interessante ting med Windows Forms.