Перетаскивание не работает на скомпилированном EXE-файле - PullRequest
0 голосов
/ 01 ноября 2019

Я добавил функциональность в свое приложение формы C # windows, которое позволяет пользователю перетаскивать файл в форме, чтобы приложение могло получить путь к файлу. Я просто точно следовал тому, что написано:

Как обеспечить функцию перетаскивания файлов в приложении Visual C #

Он работает в режиме отладки в Visual Studioокружающая обстановка. Однако, как только я попробую то же самое для отдельного exe-файла, который создается в папке bin / Debug, приложение не будет реагировать на перетаскивание.

Я уже пытался удалить все файлы в binПапка / Debug, но результат не изменился.

Было бы замечательно, если бы у кого-то была похожая проблема и решения для этого. Спасибо.


Вот коды, которые я пытаюсь (после некоторых попыток и ошибок он немного изменился по сравнению с тем, что написано в приведенном выше URL-адресе, но это все еще работает в Visual Studio, но не наexe ...):

    private void OpenFile_DragEnter(object sender, DragEventArgs e)
    // enable drag-drop event
    {
        e.Effect = DragDropEffects.Copy;
    }

    private void OpenFile_DragDrop(object sender, DragEventArgs e)
    // open drag-dropped setup file
    {
        // get drag-dropped file path
        string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);

        // open all the files
        for (int i = 0; i < s.Length; i++)
        {
            OpenSetup(s[i]);
        }
    }

Обновление : я обнаружил еще одну вещь: я могу перетаскивать файлы на EXE из OpenFileDialog, но не из проводника файлов.

...