在运行时创建并保持设置值
本文关键字:设置 运行时 创建 | 更新日期: 2023-09-27 18:21:39
我使用C#4.0、VS2010、Winforms。我在一个基本表单上有一个DevExpress SplitContainerControl,我想在运行时将它的SplitterPosition(int)保持在用户配置文件中的派生表单中。我使用以下代码来获取/生成设置属性名称:
string _splitterSettingsName;
public string SplitterSettingsName {
get {
if (string.IsNullOrEmpty(_splitterSettingsName))
_splitterSettingsName = GetType().Name + "splitterSettings";
return _splitterSettingsName;
}
set { _splitterSettingsName = value; }
}
我需要一个代码来保持拆分器的位置(int值)。谢谢
使用内置设置。在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;
}
}