我正在使用Entity Framework编写WinForms(C#)。应用
目前,我在我的表单上有一个很棒的保存按钮,就像你希望并期望它一样。
我被要求更改应用程序以在用户更改每个字段时自动保存。
我知道我可以通过向每个控件中的Value_Changed事件添加代码来实现此目的。但是有更简单的方法吗?此表单上有大量控件。为多种控件类型(Text,DropDown,CheckBox,RadioButton)重载OnChange事件的某种方法?
答案 0 :(得分:0)
在表单的构造函数中,递归遍历其所有子控件(this.Controls),并为每个控件的ValueChanged事件添加(相同)回调方法。这将使其与表单上的每个控件相关联,无论将来对表单进行任何更改。
using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
foreach (Control c in this.Controls)
{
c.Validated += C_Validated;
}
}
private void C_Validated(object sender, EventArgs e)
{
Debug.Print($"{sender.GetType().FullName} had Validated event called");
}
}
}