一个事半功倍的c#方法 动态注册按钮事件
程序员文章站
2024-03-07 19:23:15
言归正传,下面就来讲讲怎样动态注册按钮事件。 首先,我们需要设置变量来获取点击一个数字按钮的值,以便在“=”按钮单击事件中计算最终的结果。下面就是我开始的时候写的一段代码:...
言归正传,下面就来讲讲怎样动态注册按钮事件。
首先,我们需要设置变量来获取点击一个数字按钮的值,以便在“=”按钮单击事件中计算最终的结果。下面就是我开始的时候写的一段代码:
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)
首先,我们需要设置变量来获取点击一个数字按钮的值,以便在“=”按钮单击事件中计算最终的结果。下面就是我开始的时候写的一段代码:
复制代码 代码如下:
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)