dポイントプレゼントキャンペーン実施中!

C#を使い、フォルダ選択のダイアログを表示させたいと思っています。WEB上に公開されていた下記コードを使い、フォルダ選択のダイアログを表示できました。
ただ、ダイアログが表示されたのはよいのですが、ダイアログ内に表示されるはずの、フォルダ選択のための階層部分が表示されません。この現象についてご存知の方、助言を頂きたくお願い致します。
また、C#は一昨日から使い初めたばかりです。初歩的なミスであった時は、どうぞお許し下さい。

フォルダ選択ダイアログの表示コード
------------------------------------------------
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.Description = "読み込むフォルダを指定してください" ;

if (fbd.ShowDialog() == DialogResult.OK)
{
txtInputFolder.Text = fbd.SelectedPath ;
}
------------------------------------------------

A 回答 (2件)

質問のコードで特に問題ありません。


ダイアログ内が何も表示されない・空だというような状態なのですか?

この回答への補足

はい、そうです。

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;

}

補足日時:2006/10/02 16:00
    • good
    • 0

#1>INIファイルの情報を取得する下記メソッドを実行すると、質問の現象が起こることを確認しました。


うわっほんとですね。こちらでも再現できました!

#1>INIファイルを使うのは絶対
ということであれば、iniファイル読込ルーチンは自前で実装するしかないと思います。
全てのメソッドを実装するのは、面倒なので、とりあえず当面必要なものだけ実装すればいいと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!