服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - 一个事半功倍的c#方法 动态注册按钮事件

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

2019-09-02 09:46脚本之家 ASP.NET教程

前几天在网上看见一个制作计算器的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)

延伸 · 阅读

精彩推荐