c# - 如何使用一个类而不是创建多个方法?
问题描述
我目前正在开发一个 WinForms 应用程序,我希望用户单击一个按钮,然后更改按钮文本。我有 11 个按钮,为每个按钮设置MouseUp
、 、 的方法会导致大量工作和非常相似的代码的重复。MouseDown
Click
我做了一个类,但不知道解决用户单击的按钮。
public class AddButton
{
public int Count { get; set; }
private void Button_Click(object sender, EventArgs e)
{
Count++;
?ProductButton?.Text = Count + " Added";
}
}
如果需要,请单击此链接下载完整的 WinForms 项目。
解决方案
我这样做的方式:
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
由于“文本”是基类的属性;将发件人转换为(按钮)也应该有效。
推荐阅读
- command-line-interface - 如何构建 nativescript-vue .apk 而不将其提交到谷歌商店与我的朋友分享进行 beta 测试
- python - Python,一个PDF页面中的多个绘图
- javascript - 在 Microsoft Edge 上注册 Service Worker 时出错
- enums - 比较两个枚举的变体及其值时如何避免代码重复?
- symfony - Symfony 3.4 嵌入控制器模板
- reactjs - React-js 服务工作者缓存问题
- c# - 我刚刚浏览了 Erik Brown 撰写的一篇关于“在您的托管代码中重新发现失落的内存优化艺术”的文章
- css - css中内联元素的行内框和内容区域的具体位置如何用一些工具,例如chrome dev tools?
- html - preventDefault() 不起作用,我怎样才能使它正常工作?
- json - 打印 POST JSON 数据