Додајте подршку за отпремање датотека уз интуитивну употребљивост превлачења и испуштања.
Многе модерне апликације раде на датотекама које корисник може да отпреми у свој систем. Примери су уређивачи слика, ИДЕ-ови кода и програми за обраду текста. Ако правите апликацију Виндовс Форм, ову функцију можете лако додати као део корисничког интерфејса.
Виндовс Форм апликације вам омогућавају да превучете и отпустите елементе корисничког интерфејса као што су панели или оквири са листом. Можете користити ове елементе корисничког интерфејса да креирате своју функцију превлачења и испуштања. Када корисник превуче датотеку на панел, можете приказати повратне информације на основу те датотеке.
Како да креирате кориснички интерфејс за превуци и испусти контејнер
Можете да користите елемент панела да креирате кориснички интерфејс за функцију превлачења и испуштања. Затим можете користити ЛистБок УИ елемент за приказ имена свих датотека које корисник превуче на панел.
- Направите нову апликацију Виндовс Формс.
- У оквиру са алаткама потражите елемент корисничког интерфејса панела и превуците га на платно.
- Означите нови панел. У прозору са својствима промените вредности следећих својстава:
Имовина
Нова вредност
Име
драгДропПанел
БацкЦолор
Бели дим
БордерСтиле
ФикедСингле
Величина
600, 400
Видљиво
Истина
- У оквиру алата потражите елемент корисничког интерфејса ЛистБок-а и превуците га на платно. Поставите га тако да буде унутар панела и уверите се да постоји неки размак између ЛистБок-а и панела.
- Истакните нови ЛистБок и промените вредности следећих својстава:
Имовина
Нова вредност
Име
уплоадедФилесЛист
БацкЦолор
Бели дим
БордерСтиле
Ниједан
Величина
500, 300
Видљиво
Фалсе
Како додати догађај превлачења и испуштања
Можете користити догађаје у Виндовс Форм апликацији да извршава одређене функције само када се догоде одређени догађаји.
Да бисте додали функционалност панелу за превлачење и отпуштање, мораћете да додате два догађаја. Догађај „ДрагЕнтер“ ће се десити када превучете датотеке преко панела. Догађај „ДрагДроп“ ће се десити када пустите миш да бисте испустили датотеке у таблу.
- Означите елемент корисничког интерфејса спољашњег панела.
- У прозору са својствима кликните на Лигхтенинг да бисте отворили листу догађаја.
- Двапут кликните на ДрагЕнтер догађај за генерисање нове функције. Ова функција ће се извршити када превучете датотеке преко панела.
- Унутар нове функције промените икону миша да бисте означили акцију превлачења/испуштања:
приватнипразнинадрагДропПанел_ДрагЕнтер(пошиљалац објекта, ДрагЕвентАргс е)
{
// Мења икону миша
е. Ефекат = ДрагДропЕффецтс. Све;
} - Кликните на Образац 1.цс [Дизајн] картицу на врху прозора Висуал Студио, да бисте се вратили на приказ платна. Означите елемент корисничког интерфејса панела.
- У прозору са својствима кликните на Лигхтенинг икона за повратак на листу догађаја. Овај пут, двапут кликните на ДрагДроп догађај. Ово ће генерисати још једну функцију која ће се извршити када пустите миша да бисте испустили датотеке на панел.
- Унутар нове функције ДрагДроп, добијте листу датотека које корисник превлачи на панел. Ово можете пронаћи у детаљима догађаја који се аутоматски прослеђују функцији.
приватнипразнинадрагДропПанел_ДрагДроп(пошиљалац објекта, ДрагЕвентАргс е)
{
стринг[] датотеке = (стринг[])е. Подаци. ГетДата (ДатаФорматс. ФилеДроп, лажно);
}
Како приказати листу превучених датотека
Сада када сте додали функционалност за корисника да превуче и испусти датотеке, можете приказати имена датотека користећи ЛистБок УИ елемент.
- Унутар функције драгДропПанел_ДрагДроп(), након што добијете листу датотека, користите фор-петљу за петљу кроз сваку датотеку.
за сваки (вар фајл у фајловима)
{
} - Унутар фор-петље добијте само име датотеке. Одвојите име датотеке од путање датотеке и сачувајте је у засебној променљивој. Ако користите Мац, можда ћете морати да измените код како бисте узели у обзир косе црте унапред уместо обрнуте косе црте.
стринг Име датотеке = датотека. Подниз (датотека. ЛастИндекОф("\\") + 1, фајл. Дужина - (фајл. ЛастИндекОф("\\") + 1));
- Додајте име датотеке у ЛистБок УИ елемент.
покушати
{
уплоадедФилесЛист.Итемс.Додати(назив документа);
}
улов (Изузетакизузетак)
{
Конзола. ВритеЛине(изузетак);
} - ЛистБок није видљив подразумевано. Након фор-петље, промените видљивост ЛистБок-а на тачно:
уплоадедФилесЛист. Видљиво = истина;
- Измените конструктор на врху датотеке. Подесите АлловДроп и АутоСцролл својства панела за превлачење и отпуштање на тачно.
јавности Форм1()
{
ИнитиализеЦомпонент();
драгДропПанел. АлловДроп = истина;
драгДропПанел. АутоСцролл = истина;
}
Како да обришете листу
Након што је корисник превукао ставке у таблу, можда ће желети да обрише листу и почне поново. Можете додати дугме за брисање листе када корисник кликне на њу.
- Користећи оквир са алаткама, превуците дугме на платно.
- Означите дугме. Користите прозор са својствима да промените следећа својства на нове вредности:
Имовина
Нова вредност
Име
цлеарБуттон
Текст
Јасно
- Двапут кликните на дугме да бисте генерисали нову функцију. Ова функција ће се извршити када кликнете на дугме у току рада:
приватнипразнинацлеарБуттон_Цлицк(пошиљалац објекта, ЕвентАргс е)
{}
- Унутар функције обришите садржај ЛистБок УИ елемента и сакријте га:
приватнипразнинацлеарБуттон_Цлицк(пошиљалац објекта, ЕвентАргс е)
{
уплоадедФилесЛист.Итемс.Јасно();
уплоадедФилесЛист. Видљиво = лажно;
}
Како тестирати превлачење и испуштање панела
Да бисте тестирали функцију превлачења и испуштања, покрените апликацију и превуците неке датотеке на таблу. Ако је потребно, такође можете отклоните грешке у вашој Винформс апликацији у Висуал Студио-у у време извођења. Ово ће вам помоћи да разумете шта се дешава у свакој линији кода.
- Притисните зелено дугме за репродукцију на врху прозора Висуал Студио да бисте покренули апликацију.
- Превуците неке датотеке из истраживача датотека и испустите их на таблу. Уверите се да не користите Висуал Студио у режиму администратора. Мораћете да конфигуришете додатне безбедносне дозволе за превлачење и испуштање да бисте радили у режиму администратора.
- Панел ће се ажурирати да би вам показао називе датотека које сте превукли у таблу.
- Превуците довољно датотека и видећете да панел за превлачење и отпуштање аутоматски приказује траку за померање на десној страни.
- Кликните на Јасно дугме да испразните листу.
Коришћење функције превлачења и испуштања у Виндовс Форм апликацијама
Сада се надамо да разумете како да додате функцију превлачења и испуштања у своју Виндовс Форм апликацију. Постоји много других функција које можете истражити да бисте радили занимљиве ствари са Виндовс Формс-ом.