当前位置:  开发笔记 > 编程语言 > 正文

Win Form Calculator:按钮0 - 9执行重复任务的事件处理程序

如何解决《WinFormCalculator:按钮0-9执行重复任务的事件处理程序》经验,为你挑选了1个好方法。

我有一个win表单UI,看起来像一个典型的计算器.当然,我不想为每个数字按钮(0-9)重写相同的逻辑.我希望能够知道单击了哪个按钮,因此我可以根据它的文本属性执行计算.我应该只创建一个接受按钮对象作为参数的方法来促进代码重用吗?有没有更好的办法?我想听听Win Form应用程序开发人员如何处理这个问题.我试图让我的逻辑脱离UI.

谢谢!



1> lc...:

事件处理程序的典型签名是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;
}


使用Control.Tag的+1,比使用Text的hack更安全.我特别想到本地化问题.
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有