6

更新:私の問題が何であるかが明確ではなかったようです。John Arlen が私のタイトルを編集したことも、さらなる誤解を引き起こしているようです。タイトルが「フォルダーまたはファイルのパスを取得するにはどうすればよいですか?」に変更されました。それは私が求めているものではありません。ファイルを操作するダイアログと、フォルダーを操作するダイアログがあることを理解しています。これらのダイアログのそれぞれが、フォルダーまたはファイルのいずれかのパスを返すことができることを知っています。ファイルパスを取得する方法が正確にはわからないと述べましたが、その方法を知っていたとしても役に立ちませんでした。

私の元の質問で述べたように:

「ユーザーにダイアログでフォルダーまたはファイルを選択させています。パスがフォルダーまたはファイルに属するかどうかはわかりません。ユーザーが「開く」ボタンを押すと、現在選択されているディレクトリまたは文字列に格納されるファイル パス。"

ここで私が言いたかったのは、存在するかもしれないし存在しないかもしれないダイアログを使いたかったということです。ユーザーがファイルまたはフォルダーを求めているかどうかはわかりません。ユーザーはこれを知っていますが、ユーザーはパスを知りません。これが、ダイアログが使用される理由です。ユーザーは必要なファイルまたはフォルダーを検索し、[開く] をクリックします。私のニーズでは、これに単一のダイアログを使用する方が理にかなっています。.NET Framework の経験が限られているため、このようなダイアログが存在するかどうかを確認したかったのです。

Jared Kells の答えは、私が探していたものとほとんど同じでした。彼が提供したものを読んだ後、そのような対話は存在しないようです。独自の実装を提供する必要があります。

独自の実装を考え出すには時間がかかり、困難になる可能性が高いため、今のところは省略します。誰かが非常に役立つ回答を提供してくれた場合に備えて、回答を選択するために数日待ちます.

私が求めていたものとは違っていたにもかかわらず、貢献してくれた人々に感謝します。

オリジナルコンテンツ:

フォルダーまたはファイルのファイル パスを取得する方法を探しています。私は多くの成功を収めたりせずに遊んだりしましOpenFileDialogFolderBrowserDialog。FolderBrowserDialog.SelectedPath を使用してフォルダー パスを取得できました。クラスを使用してOpenFileDialog、ファイルパスを取得する方法を理解できませんでした。

それがわかったとしても、私はまだ窮地に立たされています。いくつかのダイアログでユーザーにフォルダーまたはファイルを選択させています。パスがフォルダーに属するのかファイルに属するのかわかりません。ユーザーが「開く」ボタンを押すと、現在選択されているディレクトリまたはファイル パスを文字列に格納する必要があります。私が使用した各クラスは、ファイルまたはフォルダーのいずれかでスタックしているようです。

これは WinForms ダイアログで可能ですか? 現時点では、独自のダイアログを作成する必要はありません。

4

1 に答える 1

7
openFileDialog1.ShowDialog();
string filePath = openFileDialog1.FileName;

ファイルのパスを提供します。

folderBrowserDialog1.ShowDialog();
string folderPath = folderBrowserDialog1.SelectedPath;

フォルダーの場合。

string path = ...
if(File.Exists(path))...//is file
if(Directory.Exists(path))...//is folder

それが何であるかを確認します。

于 2012-04-30T23:26:05.203 に答える