Pridajte podporu pre nahrávanie súborov s intuitívnou použiteľnosťou drag and drop.
Mnoho moderných aplikácií pracuje so súbormi, ktoré môže používateľ nahrať do svojho systému. Príkladmi sú editory obrázkov, IDE kódu a textové procesory. Ak vytvárate aplikáciu Windows Form, môžete túto funkciu jednoducho pridať ako súčasť svojho používateľského rozhrania.
Aplikácie Windows Form vám umožňujú presúvať prvky používateľského rozhrania, ako sú panely alebo zoznamy. Tieto prvky používateľského rozhrania môžete použiť na vytvorenie funkcie drag and drop. Keď používateľ pretiahne súbor na panel, môžete zobraziť spätnú väzbu založenú na tomto súbore.
Ako vytvoriť používateľské rozhranie pre kontajner drag and drop
Element panela môžete použiť na vytvorenie používateľského rozhrania pre funkciu drag and drop. Potom môžete použiť prvok používateľského rozhrania ListBox na zobrazenie názvov všetkých súborov, ktoré používateľ pretiahne na panel.
- Vytvorte novú aplikáciu Windows Forms.
- Na paneli s nástrojmi vyhľadajte prvok používateľského rozhrania panela a presuňte ho na plátno.
- Zvýraznite nový panel. V okne vlastností zmeňte hodnoty nasledujúcich vlastností:
Nehnuteľnosť
Nová hodnota
názov
dragDropPanel
BackColor
WhiteSmoke
BorderStyle
FixedSingle
Veľkosť
600, 400
Viditeľné
Pravda
- Na paneli s nástrojmi vyhľadajte prvok používateľského rozhrania ListBox a presuňte ho na plátno. Umiestnite ho tak, aby bol vo vnútri panelu, a uistite sa, že medzi zoznamom a panelom je určitá medzera.
- Zvýraznite nový ListBox a zmeňte hodnoty nasledujúcich vlastností:
Nehnuteľnosť
Nová hodnota
názov
uploadedFilesList
BackColor
WhiteSmoke
BorderStyle
žiadne
Veľkosť
500, 300
Viditeľné
Nepravdivé
Ako pridať udalosť drag and drop
Môžeš použiť udalosti v aplikácii Windows Form vykonávať určité funkcie iba vtedy, keď nastanú určité udalosti.
Ak chcete pridať funkcie na panel drag and drop, budete musieť pridať dve udalosti. Udalosť "DragEnter" nastane, keď pretiahnete súbory cez panel. Udalosť "DragDrop" nastane, keď pustíte myš, aby ste vložili súbory do panela.
- Zvýraznite prvok používateľského rozhrania vonkajšieho panela.
- V okne vlastností kliknite na Zosvetlenie ikonu na otvorenie zoznamu udalostí.
- Dvakrát kliknite na DragEnter udalosť na vygenerovanie novej funkcie. Táto funkcia sa spustí, keď presuniete súbory cez panel.
- V rámci novej funkcie zmeňte ikonu myši tak, aby označovala akciu presunutia:
súkromnéneplatnédragDropPanel_DragEnter(odosielateľ objektu, DragEventArgs e)
{
// Zmení ikonu myši
e. Efekt = DragDropEffects. Všetky;
} - Klikni na Formulár 1.cs [Design] v hornej časti okna Visual Studio, čím sa vrátite do zobrazenia plátna. Zvýraznite prvok používateľského rozhrania panela.
- V okne vlastností kliknite na Zosvetlenie ikonu pre návrat do zoznamu udalostí. Tentoraz dvakrát kliknite na Chyť pusti udalosť. Tým sa vygeneruje ďalšia funkcia, ktorá sa spustí, keď pustíte myš a vložíte súbory do panela.
- V rámci novej funkcie DragDrop získate zoznam súborov, ktoré používateľ pretiahne na panel. Môžete to nájsť v detailoch udalosti, ktoré sa automaticky prenášajú do funkcie.
súkromnéneplatnédragDropPanel_DragDrop(odosielateľ objektu, DragEventArgs e)
{
string[] súbory = (string[])e. Údaje. GetData (DataFormats. FileDrop, falošný);
}
Ako zobraziť zoznam pretiahnutých súborov
Teraz, keď ste pridali funkciu pre používateľa na presúvanie súborov myšou, môžete zobraziť názvy súborov pomocou prvku používateľského rozhrania ListBox.
- Vo vnútri funkcie dragDropPanel_DragDrop() po získaní zoznamu súborov použite cyklus for-loop na precyklenie každého súboru.
pre každý (var súbor v súboroch)
{
} - Vo vnútri slučky for získate iba názov súboru. Oddeľte názov súboru od cesty k súboru a uložte ho do samostatnej premennej. Ak používate Mac, možno budete musieť upraviť kód tak, aby bral do úvahy lomky namiesto spätných lomiek.
string názov_súboru = súbor. Podreťazec (súbor. LastIndexOf("\\") + 1, súbor. Dĺžka - (súbor. LastIndexOf("\\") + 1));
- Pridajte názov súboru do prvku používateľského rozhrania ListBox.
skúste
{
uploadedFilesList.Položky.Pridať(názov súboru);
}
chytiť (Výnimkavýnimkou)
{
Konzola. WriteLine(výnimkou);
} - ListBox nie je predvolene viditeľný. Po slučke for zmeňte viditeľnosť zoznamu na hodnotu true:
uploadedFilesList. Viditeľné = pravda;
- Upravte konštruktor v hornej časti súboru. Nastaviť AllowDrop a Automatické posúvanie vlastnosti panela drag and drop na hodnotu true.
verejnosti Form1()
{
InitializeComponent();
dragDropPanel. AllowDrop = pravda;
dragDropPanel. AutoScroll = pravda;
}
Ako vymazať zoznam
Keď používateľ presunie položky do panela, možno bude chcieť vymazať zoznam a začať znova. Môžete pridať tlačidlo na vymazanie zoznamu, keď naň používateľ klikne.
- Pomocou panela nástrojov potiahnite tlačidlo na plátno.
- Zvýraznite tlačidlo. Pomocou okna vlastností zmeňte nasledujúce vlastnosti na nové hodnoty:
Nehnuteľnosť
Nová hodnota
názov
ClearButton
Text
jasný
- Dvojitým kliknutím na tlačidlo vygenerujete novú funkciu. Táto funkcia sa spustí po kliknutí na tlačidlo za behu:
súkromnéneplatnéclearButton_Click(odosielateľ objektu, EventArgs e)
{}
- Vo vnútri funkcie vymažte obsah prvku používateľského rozhrania ListBox a skryte ho:
súkromnéneplatnéclearButton_Click(odosielateľ objektu, EventArgs e)
{
uploadedFilesList.Položky.Jasný();
uploadedFilesList. Viditeľné = falošný;
}
Ako otestovať panel Drag and Drop
Ak chcete otestovať funkciu drag and drop, spustite aplikáciu a presuňte niektoré súbory do panela. Ak je to potrebné, môžete tiež odlaďte vašu aplikáciu Winforms vo Visual Studio za behu. To vám pomôže pochopiť, čo sa deje v každom riadku kódu.
- Stlačením zeleného tlačidla prehrávania v hornej časti okna Visual Studio spustíte aplikáciu.
- Presuňte niektoré súbory z prieskumníka súborov a pustite ich do panela. Uistite sa, že Visual Studio nespúšťate v režime správcu. Aby ste mohli pracovať v režime správcu, budete musieť nakonfigurovať dodatočné bezpečnostné povolenia pre drag and drop.
- Panel sa aktualizuje a zobrazí názvy súborov, ktoré ste do panela presunuli.
- Potiahnite dostatočné množstvo súborov a uvidíte, že panel presunutia automaticky zobrazí posúvač na pravej strane.
- Klikni na jasný tlačidlo na vyprázdnenie zoznamu.
Používanie funkcie Drag and Drop v aplikáciách Windows Form Apps
Teraz už snáď chápete, ako pridať funkciu drag and drop do vašej aplikácie Windows Form. Existuje mnoho ďalších funkcií, ktoré môžete preskúmať a robiť zaujímavé veci s Windows Forms.