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

(编辑:jimmy 日期: 2024/10/5 浏览:2)

言归正传,下面就来讲讲怎样动态注册按钮事件。
首先,我们需要设置变量来获取点击一个数字按钮的值,以便在“=”按钮单击事件中计算最终的结果。下面就是我开始的时候写的一段代码:
复制代码 代码如下:
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)
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。