C# 如何在应用程序设置中保留自定义用户控件属性?

C# 如何在应用程序设置中保留自定义用户控件属性?,c#,winforms,C#,Winforms,我创建了由3个元素组成的简单用户控件: 2个单选按钮和表格布局面板,也称为是或否控制 我创建了自定义属性布尔“值”,它根据选中的单选按钮而变化 更新1:我将该控件添加到表单中,并将属性“值”绑定到设置中。在控制代码中,我添加了逻辑,以确定应选中哪个单选项,但在保存设置并重新加载表单后,两个单选按钮均未选中 我怎样才能用最少的努力达到这个效果呢 代码如下: public partial class YesOrNoControl : UserControl { public YesOrNoC

我创建了由3个元素组成的简单用户控件:

2个单选按钮和表格布局面板,也称为是或否控制

我创建了自定义属性布尔“值”,它根据选中的单选按钮而变化

更新1:我将该控件添加到表单中,并将属性“值”绑定到设置中。在控制代码中,我添加了逻辑,以确定应选中哪个单选项,但在保存设置并重新加载表单后,两个单选按钮均未选中

我怎样才能用最少的努力达到这个效果呢

代码如下:

public partial class YesOrNoControl : UserControl
{
    public YesOrNoControl()
    {
        InitializeComponent();
        LoadValue();
    }

    [Description("Sets the value of Control"), Category("Behavior"), DefaultValue(false), Browsable(true)]
    public bool Value { get; set; }

    void LoadValue()
    {
        if (Value)
        {
            YesButton.Checked = true;
        }
        else
        {
            NoButton.Checked = true;
        }
    }

    private void YesButton_Click(object sender, EventArgs e)
    {
        Value = true;
    }

    private void NoButton_Click(object sender, EventArgs e)
    {
        Value = false;
    }
}

您可以在IDE中定义应用程序设置(在“项目设置”下)。 然后,可以使用名称空间操作设置

设置在运行时自动加载,您可以通过调用save()方法保存设置

更多链接:


我设法解决了我的问题。 我修改了属性“Value”以从应用程序设置(专门为此创建)中获取值,并将值设置为相同的应用程序设置。 在setter的末尾,我添加了应用程序设置的保存。 它解决了主要问题,但这是一种变通办法,不是问题的真正答案。 以下是修改后的财产代码:

public bool Value
{
    get
    {
        return Properties.Settings.Default.YesOrNoControlValue;
    }
    set
    {
        Properties.Settings.Default["YesOrNoControlValue"] = value;
        Properties.Settings.Default.Save();
    }
}

这不是我问题的答案。我知道如何保存设置。我的问题是设置没有加载到控件。我的意思是,即使属性“值”保存在应用程序设置中,两个单选按钮都没有被选中。根据您的代码,这就是您要寻找的答案。您没有在任何地方引用应用程序设置。代码中没有
Value=Properties.Settings.Default.MyControlValue因此,您没有使用应用程序设置。很抱歉,对该问题的解释不充分。我为这个问题添加了额外的解释,所以请随意熟悉它。