0

私はC#4.0、VS2010、Winformsを使用しています。基本フォームにDevExpressSplitContainerControlがあり、実行時にユーザー構成ファイルの派生フォームにそのSplitterPosition(int)を保持したいと思います。次のコードを使用して、設定プロパティ名を取得/生成します。

string _splitterSettingsName;
public string SplitterSettingsName {
    get {
        if (string.IsNullOrEmpty(_splitterSettingsName))
            _splitterSettingsName = GetType().Name + "splitterSettings";
        return _splitterSettingsName;
    }
    set { _splitterSettingsName = value; }
}

スプリッターの位置(int値)を永続化するコードが必要です。ありがとう。

4

1 に答える 1

1

組み込みの設定を使用します。Visual Studio で MyProject -> Properties -> Settings.Settings を開きます。(実行時に編集できるように) ユーザー スコープ設定を作成します。その後、コードでその設定にプロパティとしてアクセスできます。

Properties.Default.Settings.MySettingName = _splitterPosition;

およびその逆。

アップデート

私のコメントで述べたように、動的な名前はお勧めしません。ただし、動的に名前が付けられた設定を実装する方法について説明します。から継承するクラスを作成System.Configuration.ApplicationSettingsBaseし、内部インデクサーに渡す文字列パラメーターを受け取るメソッドを実装します。何かのようなもの:

public sealed class MySettings : ApplicationSettingsBase
{
    public int GetSplitterPos(string splitterName)
    {
        return ((int)(this[splitterName]));
    }
    public void SetSplitterPos(string splitterName, int pos)
    {
        this[splitterName] = pos;
    }
}
于 2012-01-26T09:35:31.870 に答える