一个事半功倍的c#方法 动态注册按钮事件

 更新时间:2010年04月14日 23:42:11   作者:  
前几天在网上看见一个制作计算器的c#程序,其中有一个动态注册按钮事件,觉的很有用。于是实际操作了一哈, 确实比较好。
言归正传,下面就来讲讲怎样动态注册按钮事件。
首先,我们需要设置变量来获取点击一个数字按钮的值,以便在“=”按钮单击事件中计算最终的结果。下面就是我开始的时候写的一段代码:
复制代码 代码如下:

public double? value1 = null ;//获取运算符前的数值
public double? value2 = null ;//获取运算符前的数值
public type caltype=type .none ;//获取运算符
private void btnvalue1_Click(object sender, EventArgs e)
{
if (value1 == null)
{
value1 = Convert.ToDouble(btnvalue1.Text);
}
else
{
value2 = Convert.ToDouble(btnvalue1.Text);
}
this.txtvalue.Text = btnvalue1.Text;
}“1”按钮的单击事件

一共有十个这样的数字键按钮单击事件
是不是觉得这样写很麻烦,于是就有了按钮注册事件。下面是我后面下的一段代码:
复制代码 代码如下:

public double? value1 = null ;//获取运算符前的数值
public double? value2 = null ;//获取运算符后的数值
public type caltype=type .none ;//获取运算符
private void Form1_Load(object sender, EventArgs e)
{
btnvalue0.Click += new EventHandler(btnvalue_Click);
btnvalue1.Click += new EventHandler(btnvalue_Click);
btnvalue2.Click += new EventHandler(btnvalue_Click);
btnvalue3.Click += new EventHandler(btnvalue_Click);
btnvalue4.Click += new EventHandler(btnvalue_Click);
btnvalue5.Click += new EventHandler(btnvalue_Click);
btnvalue6.Click += new EventHandler(btnvalue_Click);
btnvalue7.Click += new EventHandler(btnvalue_Click);
btnvalue8.Click += new EventHandler(btnvalue_Click);
btnvalue9.Click += new EventHandler(btnvalue_Click);
//通过EventHandler将按钮控件的Click事件
绑定到 btnvalue_Click上面,从而动态注册按钮事件
}
private void btnvalue_Click(object sender, EventArgs e)
{
Button btn =(Button)sender ;
//实例化按钮,从而获取当前单击按钮的值
if (value1 == null)
{
value1 = Convert.ToDouble(btn.Text);
}
else
{
value2 = Convert.ToDouble(btn.Text);
}
this.txtvalue.Text = btn.Text;
}

是不是觉的比以前简单多了。。。。。(要源码的话请联系我 QQ:342468914)

相关文章

  • asp.net web页面自定义分页控件使用详解

    asp.net web页面自定义分页控件使用详解

    这篇文章主要为大家详细介绍了asp.net web页面自定义分页控件使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • ASP.NET MVC中SignalR的简单应用

    ASP.NET MVC中SignalR的简单应用

    这篇文章主要为大家详细介绍了ASP.NET MVC中SignalR的简单应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • MS SQL 实现验证字符串是否包含有大小写字母的功能

    MS SQL 实现验证字符串是否包含有大小写字母的功能

    这篇文章主要介绍了MS SQL 实现验证字符串是否包含有大小写字母的功能的相关资料,这样的功能通常应用在字符串的复杂度需要的朋友可以参考下
    2016-11-11
  • ASP.NET MVC开发接入微信公共平台

    ASP.NET MVC开发接入微信公共平台

    这篇文章主要为大家介绍了微信平台开发ASP.NET MVC接入微信公共平台实现过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • ASP.NET MVC使用Quartz.NET执行定时任务

    ASP.NET MVC使用Quartz.NET执行定时任务

    这篇文章介绍了ASP.NET MVC使用Quartz.NET执行定时任务的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • asp.net下实现输入数字的冒泡排序

    asp.net下实现输入数字的冒泡排序

    .net下实现输入数字的冒泡排序
    2010-03-03
  • ASP.NET中Ajax怎么使用

    ASP.NET中Ajax怎么使用

    这篇文章主要介绍了ASP.NET中Ajax使用方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Ext.Net学习笔记之button小结

    Ext.Net学习笔记之button小结

    Ext.Net学习笔记之button小结,需要的朋友可以参考一下
    2013-02-02
  • .NET中接口与类的区别浅析

    .NET中接口与类的区别浅析

    在我们日常开发中经常会用到接口与类,这两者之间究竟有什么区别呢?又有哪些优缺点?下面这篇文章就来给大家介绍了关于.NET中接口与类区别的相关资料,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 对ASP.Net的WebAPI项目进行测试

    对ASP.Net的WebAPI项目进行测试

    这篇文章介绍了对WebAPI项目进行测试的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论