问题出现了。
假设有10个按钮的表格。 是否有可能将这些按钮组合在一个“结构”(按钮组合)中? 能够以时尚的方式与他们合作......
ManyButtons.click + = new System.EventHandler(this.button_Click);
我只需要捕捉事件,没有属性和方法
最重要的是,没有阵列。
答案 0 :(得分:2)
就我个人而言,我只需将Button
添加到List
并对该列表执行foreach
即可解决此问题。
那是,除非有特别的理由不这样做?
答案 1 :(得分:2)
这就是全部。
我在样式
中使用了foreach
而没有List
foreach (var c in this.Controls)
{
if (c is Button)
((Button)c).Click += new System.EventHandler(this.Buttons_Click);
}
这有助于避免处理事件的行数。 当我点击按钮时,我的分析器会检查此点击并执行操作。
答案 2 :(得分:1)
嗯......好吧!问题出现了。
创建自己的容器,对其进行抽象,公开您感兴趣的事件,并在幕后管理您的按钮列表。然后你将有一个简单的界面来与之交谈,而不是一堆按钮。
答案 3 :(得分:0)
您可以在单个事件处理程序中处理所有按钮点击:
ManyButton1.click += new System.EventHandler(this.button_Click); ManyButton2.click += new System.EventHandler(this.button_Click); ...
在内部事件处理程序中,sender参数允许检测单击了哪个按钮。您可以使用Tag属性作为按钮ID。
答案 4 :(得分:0)
如果要为某些按钮创建事件处理程序,请选择它们(通过按住Ctrl键),然后转到属性框并创建该事件处理程序。这是最简单,最方便的方式。