【问题标题】:.NET managing settings groups.NET 管理设置组
【发布时间】:2011-07-31 15:43:54
【问题描述】:

我创建了一个 WinForm 控件,该控件使用其私有属性负责自己的布局。

每个表单上都有一些控件,当包含的表单关闭时,我希望每个控件保存其状态(主要是布局位置)。当然,我不希望控件公开私有属性。我的第一个方法是在两个控件的方法中使用 Properties.Settings:SaveLayout 和 RestoreLayout。

但是每个控件都会覆盖以前保存的设置,因为用户设置是共享的。

有没有一种方法可以使用某种命名前缀将变量保留在设置中?

// This constructor doesn't exist
Properties.Settings setting = new Properties.Settings("control 1");
setting.edgeDistance = 100;
setting.save();

或者

Properties.Settings setting = new Properties.Settings();
setting.edgeDistance("control 1") = 100;
setting.save();

?

谢谢。

【问题讨论】:

    标签: .net winforms controls settings


    【解决方案1】:

    Using Settings in C# 本文底部有一个标题:“使用备用设置集”。这应该给你你需要的东西

    【讨论】:

      【解决方案2】:

      您可以做的事情之一是将[SettingsBindable(true)] 属性添加到您要保存的属性中。

      这将使控件的属性对话框中的此选项能够将属性存储在设置文件中:

      【讨论】:

        【解决方案3】:

        我想我已经使用 SettingsKey 属性解决了:

        Properties.Settings setting = new Properties.Settings();
        setting.SettingsKey = this.name;
        

        谢谢!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-21
          • 2010-10-02
          • 1970-01-01
          • 1970-01-01
          • 2010-10-12
          • 2017-07-19
          • 2019-05-18
          相关资源
          最近更新 更多