【发布时间】:2017-04-20 07:31:38
【问题描述】:
我希望简化以下操作:单击一个面板,面板将其颜色更改为绿色,如果是绿色,则将其更改回灰色。我想知道如何将控件作为参数写入方法中,这样它就可以适用于任何控件,而不必复制事件方法。
通常:面板点击事件
panel_Click ()
//some if statement
panel1.BackColor = green
panel1.BackColor = gray
然后重复每个控件。取而代之的是,我将创建一个所有控件都订阅的中心方法,该方法读取面板的名称,如下所示:
genericpanel_Click(){
ChangeColor(thisPanelname);
}
然后这将使用参数/参数:
public void ChangeColor(panel? Mypanel) {
//some if...
Mypanel.BackColor = Green
Mypanel.BackColor = Gray
}
这个伪代码的准确等价物是什么?
编辑:好的,是的,我现在可以看到它是重复的,无需进一步投票。我只是不知道具体要搜索什么。无论如何,我已经找到了答案。
【问题讨论】:
-
在事件方法中包含
object sender参数,将其转换为面板,然后更改其颜色?