Member 10628309 Ответов: 1

Как сделать так, чтобы openfiledialog.initialdirectory открывал весь путь, а не только первый уровень


Когда я нажимаю кнопку, Я пытаюсь заставить свою программу открыть папку "PHRF List", используя OpenFileDialog.InitialDirectory = "C:\Race\PHRF Список\". Код приводит меня к ... C:\Race\" но не до следующего уровня папки PHRF List. Открывает ли InitialDirectory только первый уровень ниже C:? Вот полный код для этой субмарины:

Private Sub btnLoadList_Click(sender As Object, e As EventArgs) Handles btnLoadList.Click
       If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
           OpenFileDialog1.InitialDirectory = "C:\Race\PHRF List\"
           OpenFileDialog1.Filter = "txt files(*.txt)|*.txt"                   '
           txtPHRFfile.Text = OpenFileDialog1.FileName
           OpenFileDialog1.RestoreDirectory = True
       End If
       Thread.Sleep(500) 'Enter a delay here
       Using readFile As New StreamReader(txtPHRFfile.Text)
           Do While readFile.Peek() <> -1
               blPHRFstr = readFile.ReadLine()
               listArr = Split(blPHRFstr, ",")
               Me.dgv21.Rows.Add(listArr)
           Loop
           readFile.Close()
           readFile.Dispose()
       End Using
   End Sub


Что я уже пробовал:

Прочитайте много онлайн статей включая учебник Microsoft по использованию InitialDirectory но ни одна из них не пытается перейти более чем на один уровень ниже C:

Также добавлен OpenFileDialog.RestoreDirectory но это не имеет никакого эффекта.

1 Ответов

Рейтинг:
10

OriginalGriff

Пожалуйста, посмотрите на свой код:

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
   OpenFileDialog1.InitialDirectory = "C:\Race\PHRF List\"
   OpenFileDialog1.Filter = "txt files(*.txt)|*.txt"                   '
   txtPHRFfile.Text = OpenFileDialog1.FileName
   OpenFileDialog1.RestoreDirectory = True
End If
Вы открываете диалоговое окно перед тем, как установить начальный каталог!
Попробовать это:
OpenFileDialog1.InitialDirectory = "C:\Race\PHRF List\"
OpenFileDialog1.Filter = "txt files(*.txt)|*.txt"                   '
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
   txtPHRFfile.Text = OpenFileDialog1.FileName
   OpenFileDialog1.RestoreDirectory = True
End If


Member 10628309

Вы очень правы, и я очень благодарен Вам за ваше решение.
Эд

OriginalGriff

Всегда пожалуйста!