Формы C # - не удается перетащить файлы из поиска Windows Explorer в RichTextBox - PullRequest
0 голосов
/ 22 сентября 2019

Часть моего кода для перетаскивания выглядит следующим образом:

  private void richTextBox1_DragEnter(object sender, DragEventArgs e)
  {
     if (e.Data.GetDataPresent(DataFormats.FileDrop))
        e.Effect = DragDropEffects.Copy;
  }

Я использую Win10-64bit с 12 ГБ ОЗУ и у меня 50 000 файлов .eml в 500 подкаталогах.Если я перейду непосредственно в один из этих подкаталогов с помощью проводника Windows и выберу один из более чем 100 файлов, которые он содержит, я могу перетащить их в RichTextBox в своем приложении или на рабочий стол, и все в порядке.Это также работает в обоих случаях, если я выполняю поиск только одного подкаталога из его родительского каталога с помощью проводника Windows и перетаскиваю из полученного списка около 100 файлов.

Однако, если я выполняю рекурсивный поиск этих файлов изродительский каталог нескольких из этих подкаталогов с помощью проводника Windows и получение списка из 5000 или даже 50 000 файлов, если я пытаюсь перетащить хотя бы один файл из полученного списка, он все равно отлично работает на рабочем столе, но когда я перетаскиваю RichTextBox, эффект копированияне отображается.Вместо этого я просто получаю круг с разрезом.Я установил точку останова в строке DragDropEffects.Copy, и она достигла этой строки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...