(Помогите!) ! ! ! ! система не может найти указанный файл
Моя программа Когда я нажимаю на элемент Listview она зависает и выдает ошибку O система не может найти указанный файл
VB.net
Что я уже пробовал:
Я разрабатываю симулятор операционной системы и окно приложения когда я нажимаю на приложение оно выдает ошибку которая не нашла файл приложения пожалуйста помогите мне
[РЕДАКТИРОВАТЬ]ниже фрагмент кода был добавлен из комментария[/РЕДАКТИРОВАТЬ]
Вот та часть кода, где находится ошибка
Private Sub Apps_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each files As String In Directory.GetFiles(".\apps\") ListView1.Items.Add(Path.GetFileName(files)) Next End Sub Private Sub ListView1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick For Each file As ListViewItem In ListView1.Items Dim filePath As String = file.SubItems(0).Text + "\" + file.Text If file.Selected = True Then Process.Start(filePath) End If Next End Sub
Dave Kreskowiak
На это вообще невозможно ответить. Мы понятия не имеем, что делает код в то время, когда вы нажимаете на ListView. Сам ListView не выдаст эту ошибку, поэтому это должно быть что-то в вашем суперсекретном коде, которым вы не поделились с нами.
Hawk2811
Вот та часть кода, где находится ошибка
Private Sub Apps_Load(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает MyBase.Load
Для каждого файла в виде строки в каталоге.GetFiles(".\apps\")
Мыши listview1.Предметы.Добавить(Path.GetFileName(files))
Следующий
Конец Подводной Лодки
Private Sub ListView1_DoubleClick(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает ListView1.DoubleClick
Для каждого файла как ListViewItem в ListView1.Предметы
Dim filePath As String = file.Подпункты(0).Текст + "\" + файл.Текст
Если файл.Selected = True Тогда
Процесс.Start(путь к файлу)
Конец, Если
Следующий
Конец Подводной Лодки
Dave Kreskowiak
Во-первых, в Apps_Load ваш код делает предположения о том, что такое "текущий каталог". Всегда создавайте полные пути из хорошо известной папки, Окружающая среда.Метод GetFolderPath (System) | Microsoft Docs[^], или из папки, из которой запущено ваше приложение, Как Получить Путь Запуска Приложения Из Консольного Приложения С Помощью C#[^].
Это также верно для ListView1_DoubleClick. Опять же, ваш код предполагает, что такое "текущий каталог". Никогда так не делай. Текущий каталог может быть изменен без вашего ведома, например, если вы показываете OpenFileDialog, и пользователь начинает просматривать папки в поисках файла.
Hawk2811
это и в C # или vb
Dave Kreskowiak
Я понятия не имею, что ты только что сказал.
Если вы просите меня написать ваш код для вас, этого не произойдет. Никто не пишет мой код для меня, и у меня есть много работы, чтобы сделать, в то время как я пишу ваш.
Hawk2811
Нет конечно нет
Hawk2811
Думаю мне придется поискать код в интернете
Dave Kreskowiak
Ты его не найдешь. Самый быстрый способ сделать это-прочитать документацию, посмотреть примеры и написать код самостоятельно.
Hawk2811
Я Использовал Visual Basic 2010 Express Для Этого Кода
Hawk2811
и извините что не поделился кодом
Hawk2811
Мой проект будет перезапущен почему я нашел еще одну ошибку