У меня есть приложение для форм Windows с настраиваемым расширением файла. Я могу сохранить данные в свой файл, и когда я дважды щелкаю мой сохраненный файл из Windows, он запускает мое приложение.Доступ к данным, сохраненным в пользовательском типе файла в приложении Windows Forms
Я не смог, однако, получить имя файла, на который я щелкнул, чтобы читать его данные. Все, кажется, говорит мне, что args [0] должен быть exe (как я вижу), args [1] будет следующим параметром (возможно, что я ищу, имя файла, на которое я нажал), но args.Length всегда 1, независимо от того, открываю ли я exe напрямую или нажимаю на текстовый файл, который запускает exe, у меня никогда не было имени файла, на который я нажал.
Редактировать (resolved; ish): ОК, наконец, более конкретная проблема прибита. Мое приложение было развернуто с помощью ClickOnce, и я установил все ассоциации файлов через свойства приложений форм Windows. Когда я щелкнул правой кнопкой мыши и просмотрел свойства моего сохраненного пользовательского файла, он говорит: «Открывается с помощью библиотеки поддержки развертывания приложений ClickOnce», а не с моим именем приложения. Если я изменил значение по умолчанию, чтобы открыть его с моим .exe, волшебным образом он имеет правильные значения arg (exe, за которым следует имя файла, на которое я нажал).
Возможный дубликат [Как открыть файл с моим приложением?] (Http://stackoverflow.com/questions/4908955/how-do-i-open-a-file-with-my-application) – Mehraban
Предположительно, вы должны иметь свой путь к файлу в одном из аргументов. У вас есть только имя .exe? – Kilazur
Если ваш сохраненный файл не очень большой, его часто проще использовать [File.ReadAllText()] (http://msdn.microsoft.com/en-us/library/ms143368 (v = vs.110) .aspx) или [File.ReadAllLines()] (http://msdn.microsoft.com/en-us/library/s2tte0y1 (v = vs.110) .aspx), чем использование 'StreamReader'. Кстати, вы должны отредактировать свой вопрос, чтобы у вас не было лишнего пуха. Разбейте его, чтобы просто адекватно объяснить свой вопрос. – mason