gpt4 book ai didi

c# - WinForms 自动保存到数据库(对比保存按钮)

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:10 24 4
gpt4 key购买 nike

我正在使用 Entity Framework 编写 WinForms (C#)。应用

目前,我的表单上有一个很棒的保存按钮,它的工作方式与您希望和期望的一样。

我被要求更改应用程序以在用户更改每个字段时自动保存。

我知道我可以通过向每个控件中的 Value_Changed 事件添加代码来实现这一点。但是有没有更简单的方法呢?这个窗体上有大量的控件。为多种控件类型(Text、DropDown、CheckBox、RadioButton)重载 OnChange 事件的某种方法?

最佳答案

在窗体的构造函数中,递归地循环遍历其所有子控件 (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");
}
}
}

关于c# - WinForms 自动保存到数据库(对比保存按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40685472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com