Aggiungi il supporto per i caricamenti di file con l'usabilità intuitiva del trascinamento della selezione.
Molte applicazioni moderne operano su file che un utente può caricare sul proprio sistema. Editor di immagini, IDE di codice ed elaboratori di testi sono tutti esempi. Se stai creando un'applicazione Windows Form, puoi facilmente aggiungere questa funzionalità come parte della tua interfaccia utente.
Le applicazioni Windows Form consentono di trascinare e rilasciare elementi dell'interfaccia utente come pannelli o caselle di riepilogo. Puoi utilizzare questi elementi dell'interfaccia utente per creare la funzionalità di trascinamento della selezione. Quando l'utente trascina un file su un pannello, puoi visualizzare il feedback basato su quel file.
Come creare l'interfaccia utente per il contenitore di trascinamento della selezione
È possibile utilizzare un elemento del pannello per creare l'interfaccia utente per la funzionalità di trascinamento della selezione. È quindi possibile utilizzare un elemento dell'interfaccia utente ListBox per visualizzare i nomi di tutti i file trascinati dall'utente nel pannello.
- Creare una nuova applicazione Windows Form.
- Nella casella degli strumenti, cerca un elemento dell'interfaccia utente del pannello e trascinalo nell'area di disegno.
- Evidenziare il nuovo pannello. Nella finestra delle proprietà, modificare i valori delle seguenti proprietà:
Proprietà
Nuovo valore
Nome
dragDropPanel
Colore di sfondo
Fumo bianco
Stile del bordo
FissoSingolo
Misurare
600, 400
Visibile
VERO
- Nella casella degli strumenti, cerca un elemento dell'interfaccia utente ListBox e trascinalo nell'area di disegno. Posizionalo in modo che sia all'interno del pannello e assicurati che ci sia dello spazio tra ListBox e il pannello.
- Evidenziare il nuovo ListBox e modificare i valori delle seguenti proprietà:
Proprietà
Nuovo valore
Nome
uploadedFilesList
Colore di sfondo
Fumo bianco
Stile del bordo
Nessuno
Misurare
500, 300
Visibile
Falso
Come aggiungere l'evento Drag and Drop
Puoi usare eventi in un'applicazione Windows Form eseguire determinate funzioni solo quando si verificano determinati eventi.
Per aggiungere funzionalità al pannello trascina e rilascia, dovrai aggiungere due eventi. L'evento "DragEnter" si verificherà quando si trascinano i file sul pannello. L'evento "DragDrop" si verificherà quando lascerai andare il mouse per trascinare i file nel pannello.
- Evidenzia l'elemento dell'interfaccia utente del pannello esterno.
- Nella finestra delle proprietà, fare clic su Alleggerimento icona per aprire l'elenco degli eventi.
- Fare doppio clic sul Trascina Invio evento per generare una nuova funzione. Questa funzione verrà eseguita quando si trascinano i file sul pannello.
- All'interno della nuova funzione, cambia l'icona del mouse per indicare l'azione di trascinamento:
privatovuotodragDropPanel_DragEnter(oggetto mittente, DragEventArgs e)
{
// Cambia l'icona del mouse
e. Effetto = DragDropEffects. Tutto;
} - Clicca sul Modulo 1.cs [Design] scheda nella parte superiore della finestra di Visual Studio, per tornare alla visualizzazione dell'area di disegno. Evidenzia l'elemento dell'interfaccia utente del pannello.
- Nella finestra delle proprietà, fare clic su Alleggerimento icona per tornare all'elenco degli eventi. Questa volta, fai doppio clic su Trascina evento. Questo genererà un'altra funzione che verrà eseguita quando lascerai andare il mouse per trascinare i file nel pannello.
- All'interno della nuova funzione DragDrop, ottieni l'elenco dei file che l'utente sta trascinando nel pannello. Puoi trovarlo nei dettagli dell'evento che vengono passati automaticamente alla funzione.
privatovuotodragDropPanel_DragDrop(oggetto mittente, DragEventArgs e)
{
string[] file = (string[])e. Dati. GetData (DataFormats. FileDrop, falso);
}
Come visualizzare l'elenco dei file trascinati
Ora che hai aggiunto la funzionalità per consentire all'utente di trascinare e rilasciare i file, puoi visualizzare i nomi dei file utilizzando l'elemento dell'interfaccia utente ListBox.
- All'interno della funzione dragDropPanel_DragDrop(), dopo aver ottenuto l'elenco dei file, utilizzare un ciclo for per scorrere ogni file.
per ciascuno (var file nei file)
{
} - All'interno del ciclo for, ottieni solo il nome del file. Separare il nome del file dal percorso del file e memorizzarlo in una variabile separata. Se utilizzi un Mac, potrebbe essere necessario modificare il codice per tenere conto delle barre anziché delle barre rovesciate.
stringa nomefile = file. Sottostringa (file. LastIndexOf("\\") + 1, file. Lunghezza - (file. LastIndexOf("\\") + 1));
- Aggiungere il nome del file all'elemento dell'interfaccia utente ListBox.
Tentativo
{
uploadedFilesList.Elementi.Aggiungere(nome del file);
}
presa (Eccezioneeccezione)
{
Consolle. Linea di scrittura(eccezione);
} - Il ListBox non è visibile per impostazione predefinita. Dopo il ciclo for, cambia la visibilità del ListBox in true:
uploadedFilesList. Visibile = VERO;
- Modificare il costruttore nella parte superiore del file. Impostare il Consentirilascia E Scorrimento automatico proprietà del pannello di trascinamento della selezione su true.
pubblico Modulo1()
{
InizializzaComponente();
dragDropPanel. ConsentiDrop = VERO;
dragDropPanel. Scorrimento automatico = VERO;
}
Come cancellare l'elenco
Dopo che l'utente ha trascinato gli elementi nel pannello, potrebbe voler cancellare l'elenco e ricominciare. È possibile aggiungere un pulsante per cancellare l'elenco quando l'utente fa clic su di esso.
- Utilizzando la casella degli strumenti, trascina un pulsante nell'area di disegno.
- Evidenzia il pulsante. Utilizzare la finestra delle proprietà per modificare le seguenti proprietà con i nuovi valori:
Proprietà
Nuovo valore
Nome
clearButton
Testo
Chiaro
- Fare doppio clic sul pulsante per generare una nuova funzione. Questa funzione verrà eseguita quando si fa clic sul pulsante in fase di esecuzione:
privatovuotoclearButton_Click(oggetto mittente, EventArgs e)
{}
- All'interno della funzione, cancella il contenuto dell'elemento dell'interfaccia utente ListBox e nascondilo:
privatovuotoclearButton_Click(oggetto mittente, EventArgs e)
{
uploadedFilesList.Elementi.Chiaro();
uploadedFilesList. Visibile = falso;
}
Come testare il pannello di trascinamento della selezione
Per testare la funzionalità di trascinamento della selezione, eseguire l'applicazione e trascinare alcuni file nel pannello. Se necessario, puoi anche eseguire il debug dell'applicazione Winforms in Visual Studio in fase di esecuzione. Questo ti aiuterà a capire cosa sta succedendo in ogni riga di codice.
- Premere il pulsante di riproduzione verde nella parte superiore della finestra di Visual Studio per eseguire l'applicazione.
- Trascina alcuni file dal tuo file explorer e rilasciali nel pannello. Assicurati di non eseguire Visual Studio in modalità amministratore. Dovrai configurare autorizzazioni di sicurezza aggiuntive affinché il trascinamento della selezione funzioni in modalità amministratore.
- Il pannello si aggiornerà per mostrarti i nomi dei file che hai trascinato nel pannello.
- Trascina un numero sufficiente di file e vedrai che il pannello di trascinamento della selezione visualizza automaticamente una barra di scorrimento sul lato destro.
- Clicca sul Chiaro pulsante per svuotare l'elenco.
Utilizzo della funzionalità di trascinamento della selezione nelle app Windows Form
Ora si spera che tu capisca come aggiungere la funzionalità di trascinamento della selezione alla tua applicazione Windows Form. Ci sono molte altre funzionalità che puoi esplorare per fare cose interessanti con Windows Forms.