Получить полный путь к файлу из файла нажмите в проводнике - PullRequest
0 голосов
/ 12 марта 2020

Использование Visual Studio 2017 и Windows 10 Я хочу иметь возможность открыть проводник и перейти к файлу вне программы. Как только мой файл собран, я хочу получить путь к файлу и полное имя файла для проводника файлов.

        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Filter = "All files (*.*)|*.*";
        if (openFileDialog1.ShowDialog() == DialogResult.OK)  
            textBoxFolderpath.Text= openFileDialog1.FileName;
        if (textBoxFolderpath.Text.Contains('\\'))
            textBoxFolderpath.Text = textBoxFolderpath.Text.Substring(0, textBoxFolderpath.Text.LastIndexOf('\\'));  

Это то, что я пробовал до сих пор. TextBoxFolderpath используется для хранения значений.

Что я пропускаю или делаю неправильно?

Ответы [ 2 ]

3 голосов
/ 12 марта 2020

При работе с именами файлов и путями я настоятельно рекомендую использовать встроенные классы для обработки этого, например Path class :

Path.GetDirectoryName(openFileDialog1.FileName)

Это возвращает путь, без имени файла. Он также кросс-платформенный.

0 голосов
/ 13 марта 2020

Спасибо Zer0 - ниже это то, что я в конечном итоге использовал.

private void btnCurrentFolder_Click(object sender, EventArgs e)
        {
            OpenFileDialog openDialog1 = new OpenFileDialog(); 

            // Determine starting directory
            if (chkSetToRoot.Checked)
            {
                openDialog1.InitialDirectory = @"K:\RESULTS";
            }      

            openDialog1.Title = "Select A Test File";
            openDialog1.Filter = "All Files (*.*)|*.*";

            if (openDialog1.ShowDialog() == DialogResult.OK)
            {      
                textBoxFolderpath.Text = Path.GetDirectoryName(openDialog1.FileName);
                textBoxFileName.Text = Path.GetFileName(openDialog1.FileName);
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...