运行时AppSettings.settings编辑器对话框

时间:2012-08-20 17:15:10

标签: c# .net winforms runtime appsettings

基本上我正在寻找这种类型的项目: http://www.codeproject.com/Articles/6160/Application-Configuration-Editor-using-the-Propert

但对于Application Settings。你听说过吗,你能提出什么建议吗?

基本上,用例是一旦设置,AppSettings只能从代码中更改,如果你想手动更改任何东西,你的选项非常有限和复杂。

这个想法是允许用户使用'--config'参数运行应用程序,并允许他更改类似于Visual Studio自己的编辑器的界面中的任何设置:

enter image description here

编辑:当然,在运行时,唯一可编辑的列应为Value。唯一可见的其他应该是Name,就像这里:

enter image description here

1 个答案:

答案 0 :(得分:2)

哦,没想到,只需将ApplicationSettingsBase放入PropertyGrid.SelectedObject即可进行编辑。然后,您只需致电.Save(),即可保存您的设置。

这很简单。

修改:如果您要构建此类编辑器,请考虑使用.Reset()方法添加将设置重置为默认值的按钮。默认情况下,我指的是您在Visual Studio中的设计器编辑器中指定的值。

使用此按钮有两个主要问题:

首先,在调用.Reset()之后,新的(默认)设置已经保存到磁盘,因此没有明显的方法来恢复它们(如果有的话)。所以,请为此做好准备。

其次,您需要在.Refresh()上调用PropertyGrid,因为它不会刷新其字段(但是当您将光标设置到字段时,它会刷新,因此数据没有保存,它仍然只是在控件上绘制。)

另一个编辑:为了使编辑设置的过程更加用户友好,您可能希望将它们组织在一起,将名称更改为更具可读性等。

不幸的是,设置对象的代码是自动生成的,这意味着您无法向该类中的属性添加任何属性。幸运的是,您可以添加这些properties programmatically