如何在运行时为动态创建的控件添加事件处理程序?

2023-12-22

我正在开发 C# Windows 应用程序。我的应用程序从自定义控件库获取控件(按钮、文本框、富文本框和组合框等),并在运行时动态地将它们放入表单中。我如何使用委托为该控件创建事件处理程序?以及如何在特定的自定义控件单击事件中添加业务逻辑?

例如:

我有 user1、user2、user3,当 user1 登录时我只想显示“保存”按钮。当用户2仅显示“添加和删除”按钮而用户3仅显示“添加和更新”按钮时。根据从数据库表获取的用户登录信息创建的文本框和按钮。在这种情况下,我如何处理不同的事件(添加,保存、更新、删除)当表单是动态创建的控件时,按钮为不同用户保存、添加、删除和更新(保存、添加、删除和更新按钮对象来自同一按钮类)


使用匿名方法:

Button button1 = new Button();
button1.Click += delegate
                    {
                        // Do something 
                    };

使用具有显式参数的匿名方法:

Button button1 = new Button();
button1.Click += delegate (object sender, EventArgs e)
                    {
                        // Do something 
                    };

使用匿名方法的 lambda 语法:

Button button1 = new Button();
button1.Click += (object sender, EventArgs e) =>
                    {
                        // Do something 
                    };

用方法:

Button button1 = new Button();
button1.Click += button1_Click;

private void button1_Click(object sender, EventArgs e)
{
    // Do something
}

您可以在以下位置找到更多信息MSDN 文档 http://msdn.microsoft.com/en-us/library/ms366768%28v=vs.110%29.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时为动态创建的控件添加事件处理程序? 的相关文章

随机推荐