首页 > 解决方案 > 使用自定义属性保存设置

问题描述

我有一个设置为自定义属性 DataGridViewAutoSizeColumnsMode。如果这与这一切有关,我认为这是一个 ENUM。

在此处输入图像描述

我的代码中有一个方法,它将像这样获取和设置属性:

public DataGridViewAutoSizeColumnsMode COLUMN_SIZE_MODE
{
   get { return Properties.Settings.Default.COLUMN_SIZE_MODE; }
   set { Properties.Settings.Default.COLUMN_SIZE_MODE = value; }
}

现在,该设置由DataGridViewAutoSizeColumnsMode包含所有选项的组合框控制,并且可以从中读取。但是,我不知道如何将所选值保存到设置变量中。

当我按下“保存”按钮时,在组合框中选择的值应保存到设置变量中。对于其他只是字符串的设置,我可以这样做:

DEFAULT_DATABASE = defaultDatabaseComboBox.Text;

但由于我已将其他设置设置为非文本属性,因此我无法使用 .Text 方法指向组合框中的值,如下所示:

COLUMN_SIZE_MODE = columnSizeModeSetting.Text;

如何将组合框中的文本保存到具有自定义属性的设置中?

标签: c#visual-studioenumspropertiesapplication-settings

解决方案


我刚刚找到了解决方案。我还没有真正理解它,但它就在这里。

要将包含文本的组合框的设置保存到作为自定义枚举属性的设置,我这样做了:

COLUMN_SIZE_MODE = (DataGridViewAutoSizeColumnsMode)Enum.Parse( typeof(DataGridViewAutoSizeColumnsMode), columnSizeModeSetting.Text);

这似乎是一种转换,但为什么我需要这样写我还不太明白。


推荐阅读