我有一个win表单UI,看起来像一个典型的计算器.当然,我不想为每个数字按钮(0-9)重写相同的逻辑.我希望能够知道单击了哪个按钮,因此我可以根据它的文本属性执行计算.我应该只创建一个接受按钮对象作为参数的方法来促进代码重用吗?有没有更好的办法?我想听听Win Form应用程序开发人员如何处理这个问题.我试图让我的逻辑脱离UI.
谢谢!
事件处理程序的典型签名是void EventHandler(object sender, EventArgs e)
.重要的部分是object sender
.这是触发事件的对象.如果Button
是点击事件,发件人就是那个Button
.
void digitButton_Click(object sender, EventArgs e) { Button ButtonThatWasPushed = (Button)sender; string ButtonText = ButtonThatWasPushed.Text; //the button's Text //do something //If you store the button's numeric value in it's Tag property //things become even easier. int ButtonValue = (int)ButtonThatWasPushed.Tag; }