【发布时间】:2015-04-13 08:50:18
【问题描述】:
我有一个按钮和一个椭圆,我需要在连续三次单击时更改同一个椭圆的填充颜色,例如第一次单击 - 填充颜色为红色,第二次单击 - 黄色和第三次单击 - 绿色。 如何使用单个事件处理程序来单击按钮?
【问题讨论】:
-
使用私有字段并在事件处理程序中检查其值是否为 3?!
我有一个按钮和一个椭圆,我需要在连续三次单击时更改同一个椭圆的填充颜色,例如第一次单击 - 填充颜色为红色,第二次单击 - 黄色和第三次单击 - 绿色。 如何使用单个事件处理程序来单击按钮?
【问题讨论】:
根据您的应用程序的大小,您可以通过多种方式来实现。如果它很重要,请阅读状态模式并在每次单击时更改状态。
或者如果它很小,你可以做这样的事情..(请把它当作伪代码)
private string _lastState = "DefaultState"
public void MyClickHandler()
{
ChangeState();
}
private void ChangeState()
{
Switch (_lastState)
case "Default": _lastState = "Red";
_myControl.Backgroung = Red;
case "Red": _lastState = "Yellow";
_myControl.Backgroung = Yellow;
case "Yellow": _lastState = "Green";
_myControl.Backgroung = Green;
.. and so on..
}
where _myControl is your state .. may be just a string variable..
}
【讨论】: