• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FolderBrowserDialogの使い方)

FolderBrowserDialogでフォルダを選択し、正しいパスを取得する方法

このQ&Aのポイント
  • FolderBrowserDialogを使用してフォルダを選択し、選択されたフォルダのパスを正しく取得する方法について紹介します。
  • 選択したフォルダパスに固定ファイルを出力する際、文字列連結によってフルパスを作成することがあります。しかし、Cドライブ直下ではパスが正しくならず、円マークが2つになってしまいます。この問題を解決する方法を説明します。
  • 解決策としては、FolderBrowserDialog.SelectedPathプロパティで取得したフォルダパスにPath.Combineメソッドを使用して固定ファイル名を連結することが有効です。これにより、正しいパス形式でファイルを出力することができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

パスの結合には,文字列を連結するのではなく,System.IO.PathクラスのCombineメソッドを利用します。 ※参考URLには.NET 4のMSDNのURLを記述しています。最新版である.NET 4.5のMSDNは解説部分が訳されていないので。

参考URL:
http://msdn.microsoft.com/ja-jp/library/fyy7a5kt(v=vs.100).aspx
fflashing
質問者

お礼

combineメソッドは知りませんでした。これは私がやりたい事にに合致します。助かりました、ありがとうございます。

その他の回答 (1)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

コードは書きませんので自分で調べてください フォルダ取得した時ルートフォルダ選択時だけは特殊な扱いで 末尾に\(バックスラッシュ)が付加されます ですので 選択フォルダが3文字(ドライブの¥選択時) もしくは選択フォルダの末尾文字が¥ だった時は 自前で¥を削除してから\を付けたファイル名を付加する等 工夫する必要があります(いずれの方法でも大した話じゃない) 荒業でいえば 作成後の文字列内の "\\" を "\" の置換するってのでもありかな if分 Length関数 Replace関数 あたりで作成できます

fflashing
質問者

お礼

replaceで置き換えてしまうのは手ですね。アイディアがわきました。ありがとうございます。