存储自定义类型的设置

时间:2009-06-11 21:09:52

标签: c#

我之前在winforms应用程序中使用过.NET中的设置系统。但是,我想知道如果我需要存储自定义类型的设置呢?我可以编辑设置器生成的类文件吗?

我在这里读了一个关于这样做的帖子,不推荐(有人提到按F11打开文件,或类似的密钥)。

在这种情况下我该怎么办?

由于

2 个答案:

答案 0 :(得分:0)

设计器生成的类文件将在下一次构建时丢失。您需要在配置视图或xml文件中进行编辑。

根据您想要做多少工作以及您需要什么样的行为,您可以执行一些简单的操作,例如手动定义自定义配置部分,使用简单的包装器类来访问设置。

另一方面,像Configuration Section Designer这样的工具可以提供帮助......

尽可能保持简单,特别是如果你需要配置的东西相对简单。

答案 1 :(得分:0)

不要被劝阻,这并不难。此外,您要保存的自定义类型将包含一些属性,但是当您将其添加到应用程序设置时,您只需配置1个设置。方法如下:

  1. 更新settings.settings文件。启动设置设计器,您将看到刚刚添加的内容。别担心,它不会迷路。 - 确保完全符合您的自定义类型,如mynamspace.mycustomtype
  2. 制作自定义类型[可序列化] - 不要忘记将类和属性公开
  3. 我创建了一个自定义类型来保存窗口设置。使用以下保存设置方法的签名:

    public void SaveSettings(Form aForm)
    

    然后我可以使用以下内容来保存我的自定义类型及其属性。请注意,我使用Default [string]方法而不是设计器创建的方法,如Default.MainForm

    Properties.Settings.Default[aForm.Name] = this;  //Save my custom type
    Properties.Settings.Default.Save();