Я разрабатываю приложение для чтения XML-файлов, получения его данных и заполнения некоторого поля. Итак, я реализовал два способа получить файл: через командную кнопку и через событие формы перетаскивания. Все в порядке, если я использую файл, хранящийся в папке на моем компьютере. Я могу перетащить файл, курсор меняет внешний вид на эффект копирования и т. Д. Однако, когда я пытаюсь сделать это, перетащив файл в виде вложения Outlook (моя версия - 2010), я вижу, что курсор принимает запрещенный эффект и файл не читается.VB.NET - Как перетащить файл из Outlook 2010 в мою форму?
Пожалуйста, ознакомьтесь с нижеприведенной реализацией, которая работает только для файлов, хранящихся в папке на моем компьютере. Я хотел бы знать, что мне нужно реализовать, чтобы перетащить файл из Outlook.
Заранее спасибо.
Private Sub FrmJIG_DragDrop(sender As Object, e As DragEventArgs) _
Handles Me.DragDrop
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
Dim filestype() As String
filestype = e.Data.GetData(DataFormats.FileDrop)
Dim sReader As New StreamReader(filestype(0))
'get the filename from the file without the path
Dim file_name As String = Path.GetFileName(filestype(0))
'check the extension of the file
If Path.GetExtension(filestype(0)).ToLower() = ".xml" Then
'Read the xml file
For Each path In files
ReadXMLFile(path)
Next
Else
'warning about the file type
MessageBox.Show("Only XML files are supported!", "Warning!", _
MessageBoxButtons.OK, _
MessageBoxIcon.Warning)
End If
End Sub
Private Sub FrmJIG_DragEnter(sender As Object, e As DragEventArgs) _
Handles Me.DragEnter
'change the cursor type to drag and drop type
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.Copy
End If
End Sub
Пожалуйста, попробуйте проверить также 'e.Data.GetDataPresent ("FileGroupDescriptor")' –
Привет Эдуардо. Спасибо за ваш ответ. Как это должно быть реализовано в коде выше? – JoseFernandes
Добавлен aswer с кодом, измененным –