
こんにちわ。
フォルダを参照してその中身をリストBOXに表示したいのですが、サンプルを見つけて実行したのですがいまいち理解できなかったのでアドバイスくださると助かります。
private void button1_Click(object sender, System.EventArgs e)
{
string systemFolder =
Environment.GetFolderPath (Environment.SpecialFolder.System);
DirectoryInfo di = new DirectoryInfo(systemFolder);
foreach(FileInfo fi in di.GetFiles())
{
listBox1.Items.Add(fi.Name);
}
}
これでボタン1をクリックするとsystemフォルダの内容がリストに表示されるのですが、そもそもどこのsystemフォルダなのか分かりません・・・。
↑のプログラムが分からず別の方法でまずフォルダ参照ダイアログの
FolderBrowserDialog
を使おうと思ったのですが、ツールBOXに無いのでまた困りました。
どなたか分かる方いたらご指摘お願いします。
No.1ベストアンサー
- 回答日時:
EnvironmentオブジェクトのGetFolderPathメソッドを呼び出す際に、引数にEnvironment.SpecialFolder.Systemを指定すると、ウィンドウズシステムフォルダの絶対パスが返って来ます。
例えば、C:\Windows\System32などが返って来ます。参考URL
http://dobon.net/vb/dotnet/file/getfolderpath.html
にある通り、GetFolderPathメソッドの引数を色々と変更すると「お気に入り」や「マイドキュメント」のフォルダの絶対パスも拾えます。
以上を踏まえた上で、サンプルでは、ウィンドウズシステムフォルダを取得してリストを作っています。
実は「フォルダ内のファイルリストを作るサンプル」としては「システムフォルダ」ではなく「お気に入り」や「マイドキュメント」や「ディスクトップ」でも、以下のように「C:\temp」でも、どこのフォルダでも構わないのです。
private void button1_Click(object sender, System.EventArgs e)
{
string getFolder = "C:\\temp";
DirectoryInfo di = new DirectoryInfo(getFolder);
foreach(FileInfo fi in di.GetFiles())
{
listBox1.Items.Add(fi.Name);
}
}
サンプルとしては、存在してさえいれば特にどこのフォルダでも構わないので、実行結果に「リストにファイルがたくさん出て来る」ようにする為、システムフォルダを例題に使っただけでしょう。
もし「お気に入り」や「マイドキュメント」にファイルが何も入っていなかった場合リストに何も出てこないですし、もし上記のように「C:\temp」とかフォルダ位置を直書きすると「C:\temp」が無かった時にエラーになってサンプルとして相応しくない物になってしまいます。
そこで「どのWindows(Win98とかWinXPとかWin2000とか)でも必ず存在するフォルダで、しかも、フォルダの中にファイルが沢山入っている所、つまりウィンドウズシステムフォルダ」をサンプルに使った訳です。
参考URL:http://dobon.net/vb/dotnet/file/getfolderpath.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URL正規化・www付き、無しそれ...
-
VB6.0 FileListBoxでフォルダ表示
-
[C#]FolderBrowserDialogのタイ...
-
ExcelのVBAでフォルダ指定がで...
-
ExcelVBAでフォルダへのハイパ...
-
Wallpaper Engineでおすすめの...
-
アクティブシートを別のフォル...
-
マクロでネットワークドライブ...
-
C#)フォルダを参照したい
-
複数階層にまたがる別名称フォ...
-
カレントフォルダって?
-
バッチファイルに詳しい方、お...
-
Windowsで任意のフォルダにある...
-
エクセルのマクロ 保存フォル...
-
フォルダの削除
-
MFC、フォルダの中のファイルパス
-
robots.txtの書き方
-
実行中にフォルダ共有を行い、...
-
Delphi ShellTreeView
-
Javaでフォルダ複数階層のZipフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報