首页 > 解决方案 > 如何使用一个类而不是创建多个方法?

问题描述

我目前正在开发一个 WinForms 应用程序,我希望用户单击一个按钮,然后更改按钮文本。我有 11 个按钮,为每个按钮设置MouseUp、 、 的方法会导致大量工作和非常相似的代码的重复。MouseDownClick

我做了一个类,但不知道解决用户单击的按钮。

public class AddButton 
    {
        public int Count { get; set; }

        private void Button_Click(object sender, EventArgs e)
        {
            Count++;
            ?ProductButton?.Text = Count + " Added";
        }
    }

如果需要,请单击链接下载完整的 WinForms 项目。

标签: c#winformsclass

解决方案


我这样做的方式:

Button b = (Button)sender;
b.BackColor = DashboardColors.EM_EditingTextBoxBackground;
b.Text = "Save";

将 'sender' 转换为适当的类型,然后您就可以正常使用它了。

这应该有效:

public class AddButton 
{
    public int Count { get; set; }

    private void Button_Click(object sender, EventArgs e)
    {
        AddButton ab = (AddButton)sender;

        Count++;
        ab.Text = Count + " Added";
    }
}

如果 AddButton 派生自 Button-

public class AddButton : Button

由于“文本”是基类的属性;将发件人转换为(按钮)也应该有效。


推荐阅读