Shagoon Ответов: 0

Перетаскивание строки сетки внутри и снаружи приложения C#.


Я использую компонент one flex grid в своей заявке на C#. Мне нужно добавить функцию перетаскивания в сетку. Моя строка сетки имеет имена папок, которые содержат имена файлов. Мои файлы хранятся в базе данных SQL Server 2008.

Ожидаемое поведение

-Если строка сетки перетаскивается внутрь сетки, то строка должна двигаться вверх вниз, то есть элемент перемещается в разные папки.
-Если строка перетаскивается за пределы сетки, то, если местоположение указывает на проводник, то файлы должны быть экспортированы в папку,
-Если отправить Черновик по электронной почте, то он должен быть прикреплен как вложение,
-Если перетащить в поддерживаемый редактор, то он должен открыться.

Пример Сетки

Типы файлов могут быть word document, PPT, Excel, текстовый файл.

-1 папка
-----Файл 1
-----Файл 2
-----Файл 3
-Папка 2
-----Файл 4

Проблемы:

- Как отличить падение внутри или снаружи сетки.
- В какой момент я должен извлечь файл из БД, так как размер файла может отличаться?
- Есть ли возможность открыть новую форму с некоторыми деталями экспорта, где пользователь может выбрать параметры экспорта, если файл будет удален в Outlook или explorer?

Каков может быть наилучший подход для достижения этого требования?

Что я уже пробовал:

Я попробовал следовать:

- загрузка файла из локальной системы и падение с помощью - new DataObject(DataFormats.FileDrop, fileList) - это событие Mouse_move, но не может различать положение курсора drop.

BillWoodruff

Почему бы не задать этот вопрос на вспомогательных объектах компонента один ?

Shagoon

У них для этого ничего нет. Если мы сможем добиться же через сетку окна будет либо повторить компонента один или изменит сетку к решетке окна.

BillWoodruff

Начните здесь: https://stackoverflow.com/questions/1699504/c-sharp-detect-desktop-folder-mouse-up-during-a-drag-operation

Shagoon

Спасибо @BillWoodruff, это сработало.

0 Ответов