0

私のC#プロジェクトでは、新しいユーザーのデフォルト値になるように、設計時に設定したいフォルダーパスのユーザースコープ設定があります(間違っていなければ)。

デフォルト値をユーザーの AppData フォルダーの 1 つに設定したいと考えています。設定の値として何を入力すればよいですか? ソリューション エクスプローラーで MSVS Settings.settings UI をダブルクリックすると、それを参照しています (名前がわかりません)。

値は、たとえば Application.UserAppDataPath によって返される値である必要があります。

(私の他の質問と併せて読んでください: Environment.SpecialFolders と Application フォルダーの C# の違いを使用する必要があります)

ありがとう!

更新

shf301の答えで、私はsettings.designer.csの中に入り、これをしました:

[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string LogFolder {
    get {
        return ((string)(this["LogFolder"])) ?? System.Windows.Forms.Application.LocalUserAppDataPath;
    }
    set {
        this["LogFolder"] = value;
    }
}
4

1 に答える 1

3

ユーザーの AppData フォルダーがわからないため、設定には何も入力しません。デフォルト値を空のままにし、設定を使用するコード内で、設定が設定されていない場合 (null または空の文字列) を使用しApplication.UserAppDataPath、それ以外の場合はユーザー設定を使用します。

例えば:

public static string GetUserPath()
{
    string path = Settings.Default.UserPath;
    if (string.IsNullOrEmpty(path))
        path = Application.UserAppDataPath;
    return path;
}
于 2011-12-03T18:16:27.900 に答える