c# - 这是我为控件设置事件的最佳方式吗?

标签 c# winforms events

我在运行时设置它们,我有点担心这最终会使我的应用程序陷入困境。

有没有更好的办法?

public MainForm()
    {
        InitializeComponent();
        SetPictureBoxEvents();
    }



    private void SetPictureBoxEvents()
    {
        Andromeda.MouseEnter += new EventHandler(HeroMouseEnter);
        Andromeda.MouseLeave += new EventHandler(HeroMouseLeave);
        Engineer.MouseEnter += new EventHandler(HeroMouseEnter);
        Engineer.MouseLeave += new EventHandler(HeroMouseLeave);
        Nighthound.MouseEnter += new EventHandler(HeroMouseEnter);
        Swiftblade.MouseEnter += new EventHandler(HeroMouseEnter);
    }

最佳答案

我不明白为什么这会使您的应用程序陷入困境,因为它们无论如何都是在运行时设置的(作为 InitializeComponent 的一部分,如果您使用设计器连接它)。您只需它们设置好后进行更改。

此外,您可以从每个中删除“新事件处理程序”部分:

//like this
Andromeda.MouseEnter += HeroMouseEnter;

关于c# - 这是我为控件设置事件的最佳方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1904475/

相关文章:

c# - 很棒的 ASP.NET 和 C# 初学者教程

c# - 将 C# 正则表达式转换为 Java 正则表达式

c# - 如何在 c# winforms 应用程序中获取列表框项目的 "key"?

javascript - 如何在加载后从缓存中读取 iframe 的 *original* 源

.net - .NET 中的事件和内存泄漏

c# - C#查询工作日的方法

c# - 如何在 ASP.NET 中从数据库加载图像作为 Web 浏览器中的文件?

c# - 在 SQL Server 表中搜索值列表的最有效方法

.net - 无法打开 .NET winforms 应用程序来打开 CHM 文件中的帮助主题

javascript - 命名点击事件绑定(bind)javascript