我使用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值)。 感谢。
答案 0 :(得分:1)
使用内置设置。在visual studio中打开MyProject - >属性 - > 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;
}
}