我是C#的新手,我现在正在关注这个C#教程.在本教程中,我遇到了开发计算器的练习.
http://www.homeandlearn.co.uk/csharp/csharp_s2p15.html
在练习中给出的解决方案中,每个数字按钮都有一个btn*_click方法,可以很容易地推广.
1 http://www.homeandlearn.co.uk/csharp/images/calculator/buttonCode_Numbers.gif
我们如何编写代码,以便我们可以概括这10个函数?我虽然可以通过修改initializeComponent()来完成,但是对它的评论说它不应该使用代码编辑器进行修改.
如何解决这个问题.
您可以将所有按钮绑定到同一个单击事件处理程序,并使用它sender来获取文本:
private void btnAnyButton_Click(object sender, EventArgs e)
{
Button theButton = sender as Button;
txtDisplay.Text += theButton.Text;
}
Run Code Online (Sandbox Code Playgroud)
您发布的教程是使用可视工作室中的可视化编辑器.默认情况下,设计人员将生成具有约定{controlname} _ {eventname}的代码,您可以在属性窗口中显式指定不同的事件名称,并且所有按钮可以共享相同的事件方法.

然后看起来你可以重构这个:
private void btn_click(object sender, EventArgs e)
{
Button btn = sender as Button;
if(btn != null)
txtDisplay.Text += btn.Text;
}
Run Code Online (Sandbox Code Playgroud)
我希望有所帮助.
| 归档时间: |
|
| 查看次数: |
426 次 |
| 最近记录: |