Drag and Drop

  1. // Это событие происходит, когда пользователь перетаскивает на форму с помощью мыши
  2. // какой-либо объект во время операции перетаскивания
  3. void Form_DragEnter(object sender, DragEventArgs e)
  4. {
  5.    // Проверяем, что формат данных может быть принят
  6.    // (мы принимаем файлы только с Explorer'a, и др.)
  7.       if (e.Data.GetDataPresent(DataFormats.FileDrop))
  8.          e.Effect = DragDropEffects.Copy; // Okay
  9.       else
  10.          e.Effect = DragDropEffects.None; // Непонятная штука, игнорируем её
  11. }
  12.  
  13. // Происходит, когда пользователь отпускает кнопку мыши при перетаскивании
  14. void Form_DragDrop(object sender, DragEventArgs e)
  15. {
  16.    // Извлекает данные из DataObject-контейнера в список строк
  17.    string[] FileList = (string[])e.Data.GetData(DataFormats.FileDrop, false);
  18.  
  19.    // Делаем что-либо с полученными данными...
  20.  
  21.    // Например, добавляем файлы в label:
  22.    foreach (string File in FileList)
  23.       this.label1.Text += File + "\n";
  24. }
Элементарный пример перетаскивания файлов из проводника Windows в наше приложение (форму): image.

Не забудьте заполнить поля событий формы "DragEnter" и "DragDrop", а также свойство "AllowDrop: true". На панель я поместил объект Label1, вот сюда. Полный проект можно скачать здесь (ZIP) или здесь.

  • 0
  • views 1138
  • XakepPRO XakepPRO
  • comments 8

Реклама

Мы в соцсетях

tw tg yt gt