第1个回答 2013-10-26
用以下方法来实现按钮的动作
例: bDot.click+=net EventHandler(btn_clk);;//EventHandler类是事件代表类,用来注册事件的处理方法.
?/第一个参数是object类型,指向发出事件的对象;
?/第二个参数是EventArgs类型,包含了关于这个事件的数据
3,用以下方法来判断运算以及运算操作
private void calc(){
switch(strOper){
case "+":
dblAcc+=dblSec;;//加法运算
break;
case "-":
dblAcc-=dblSec;;//减法运算
break;
case "*":
dblAcc*=dblSec;;//乘法运算
break;
case "/":
dblAcc/=dblSec;;//除法运算
break;
}
strOper="=";;//等号运算
blnFrstOpen=true;
txtCalc.Text=Convert.ToString(dblAcc);;//将运算结果转换成字符型,并输出结果
dblSec=dblAcc;
}
第2个回答 2013-10-26
用一个中间变量存储运算结果阿。用高等级的数据类型在做如double类型
上一次运算的结果保存在中间变量里,下一次运算用中间变量与本次的输入进行计算。
另外不要用Try来判断用户的输入是否是数字,Try只用来捕获不可预料的异常,否则效率会很低。
给你个判断数字的方法
public bool IsNumber(string strNumber)
{
Regex objNotNumberPattern = new Regex(@"[^0-9.-]");
Regex objTwoDotPattern = new Regex(@"[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern = new Regex(@"[0-9]*[-][0-9]*[-][0-9]*");
string strValidRealPattern = @"^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
string strValidIntegerPattern = @"^([-]|[0-9])[0-9]*$";
Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}