一个事半功倍的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)