- 締切済み
言語[C#]..フォルダ選択ダイアログで、フォルダ選択のための階層が表示されない
C#を使い、フォルダ選択のダイアログを表示させたいと思っています。WEB上に公開されていた下記コードを使い、フォルダ選択のダイアログを表示できました。 ただ、ダイアログが表示されたのはよいのですが、ダイアログ内に表示されるはずの、フォルダ選択のための階層部分が表示されません。この現象についてご存知の方、助言を頂きたくお願い致します。 また、C#は一昨日から使い初めたばかりです。初歩的なミスであった時は、どうぞお許し下さい。 フォルダ選択ダイアログの表示コード ------------------------------------------------ FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.Description = "読み込むフォルダを指定してください" ; if (fbd.ShowDialog() == DialogResult.OK) { txtInputFolder.Text = fbd.SelectedPath ; } ------------------------------------------------
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1>INIファイルの情報を取得する下記メソッドを実行すると、質問の現象が起こることを確認しました。 うわっほんとですね。こちらでも再現できました! #1>INIファイルを使うのは絶対 ということであれば、iniファイル読込ルーチンは自前で実装するしかないと思います。 全てのメソッドを実装するのは、面倒なので、とりあえず当面必要なものだけ実装すればいいと思います。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
質問のコードで特に問題ありません。 ダイアログ内が何も表示されない・空だというような状態なのですか?
補足
はい、そうです。 INIファイルの情報を取得する下記メソッドを実行すると、質問の現象が起こることを確認しました。ですが、問題を解決することができません。また、INIファイルを使うのは絶対で、xmlを使うとか違うファイルを使うといった解決の選択枝はないです。 [DllImport("KERNEL32.DLL")] private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName); //INIファイル読み込み[戻り値=文字列] public string GetIniOfStr(String appName,String keyName, String defaultStr,String fileName) { //ファイルが指定されていない場合 if(fileName == "") { //実行ファイルが存在するフォルダに[.ini]ファイルを格納 fileName =Environment.GetCommandLineArgs()[0].Replace(Path.GetExtension(Environment.GetCommandLineArgs()[0]),".ini"); } //文字列を読み出す int len = 1024; StringBuilder returnValOfSB = new StringBuilder(len); IniFileHandler.GetPrivateProfileString(appName, keyName, "", returnValOfSB, len, fileName); string returnVal = returnValOfSB.ToString().Trim(); if(returnVal == ""){return defaultStr;} return returnVal; }