0

私はWindows.Formsアプリケーションを使用しており、またはを使用してユーザーからファイルまたはディレクトリを取得できOpenFileDialogますFolderBrowserDialog。しかし、私は両方をユニークなダイアログで取得する必要があります。ファイルとフォルダを使用OpenFileDialog.multselect = trueて選択しようとしましたが、コードでアクセスすると、OpenFileDialog.FileNamesこのプロパティはファイル名のみを返し、選択されたディレクトリは返しません。

私がまさに望んでいることを実行する静的メソッドがSystem.IO.Directory呼び出しに存在します。GetFileSystemEntriesしかし、それを行うダイアログが必要です。

誰でも私を助けることができますか?

4

4 に答える 4

0

単一のdialog()だけでフォルダとファイルを取得することはできません。

c#に関するMicrosoftのドキュメントによると、フォルダとファイルを選択するには別のダイアログを使用する必要があります

于 2012-06-11T02:41:26.830 に答える
0

試す :

string baseFolder = System.IO.Directory.GetParent(strToFile).ToString();

これにより、ファイルのフォルダ名がわかります。

于 2012-06-10T22:06:10.240 に答える
0

またはFileInfoを使用してください!

FileInfo fi = new FileInfo(strToFile);
string fileFolder = fi.DirectoryName;
于 2012-06-10T22:24:08.287 に答える
0
private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string[] files = openFileDialog1.FileNames;

                if (files != null && files.Length > 0)
                {
                    // returns the root directory
                    string folder = System.IO.Path.GetDirectoryName(files[0]);

                    // Obtain the file system entries in the directory path.
                    string[] directoryEntries =
                        System.IO.Directory.GetFileSystemEntries(folder); 
                }
            }

        }
于 2012-06-10T22:53:19.833 に答える