我创建了包含3个元素的简单用户控件:
2个单选按钮和表格布局面板,也称为“是”或“否”控件。
我创建了自定义属性布尔值“ Value”,该值随选中的单选按钮而变化。
更新1:我添加了该控件以将属性“值”形成表单并将其绑定到设置,并在控件代码中添加了逻辑来确定哪个单选按钮,但应在保存设置并重新加载表单后检查两个单选按钮。 / p>
如何以最少的努力实现这种效果。
代码下方:
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;
}
}
答案 0 :(得分:0)
您可以在IDE中(在项目设置下)定义应用程序设置。 然后,您可以使用Properties.Settings名称空间来操作设置。
设置会在运行时自动加载,您可以通过调用Save()方法保存设置。
答案 1 :(得分:0)
我设法解决了我的问题。 我修改了属性“值”以从应用程序设置(为此专门创建)中获取值,并将值设置为相同的应用程序设置。 在setter的结尾,我添加了应用程序设置的保存。 它解决了主要问题,但这是一种解决方法,而不是问题的真正答案。 在修改后的属性代码下方:
public bool Value
{
get
{
return Properties.Settings.Default.YesOrNoControlValue;
}
set
{
Properties.Settings.Default["YesOrNoControlValue"] = value;
Properties.Settings.Default.Save();
}
}