C#许多按钮

时间:2011-02-19 07:19:48

标签: c# winforms

问题出现了。

假设有10个按钮的表格。 是否有可能将这些按钮组合在一个“结构”(按钮组合)中? 能够以时尚的方式与他们合作......

ManyButtons.click + = new System.EventHandler(this.button_Click);

我只需要捕捉事件,没有属性和方法

最重要的是,没有阵列。

5 个答案:

答案 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键),然后转到属性框并创建该事件处理程序。这是最简单,最方便的方式。