我的第一个winform程序:简单的计算器(2)
好久没有来写我的进展了。
上回到了数值按钮,接下来该实现第二个,正负号按钮。
在这之前,我又考虑了一下整个设计,感觉如果分几个类的话一些数据跨类的交流将会非常频繁,这样可读性和性能都不好,于是我打算把上次提到的数值按钮类以及以后的计算器相关组件类都放到一个类中:Calculation
2. 正负号按钮:要求按下奇数次则在数字前面显示“-”,按下偶数次则数字前不显示。
正负号很简单,只要记录按下的次数并作出相应的处理即可。代码如下:
这没什么要说明的,只是在窗体中实现事件的时候textbox显示要是Calculation.Sign+Calculation.Right
补充:
因为重新构建了一个Calculation类,所以上篇文章中的相关变量到这里就有些变化了,我把类的定义的部分语句写在下面
很容易看出,left和right分别相当于上一篇文章里的StrLeftNum和StrRight,sign指示正负号。
3. 清零按钮:将所有存储的内容清空,显示器显示为0
这个实现很简单,就不说废话了,也不写出代码了。
(未完待续)
上回到了数值按钮,接下来该实现第二个,正负号按钮。
在这之前,我又考虑了一下整个设计,感觉如果分几个类的话一些数据跨类的交流将会非常频繁,这样可读性和性能都不好,于是我打算把上次提到的数值按钮类以及以后的计算器相关组件类都放到一个类中:Calculation
2. 正负号按钮:要求按下奇数次则在数字前面显示“-”,按下偶数次则数字前不显示。
正负号很简单,只要记录按下的次数并作出相应的处理即可。代码如下:
1 public static void SignClick() //正负号按钮事件
2 {
3 n++;
4 if(n%2==1)
5 sign="-";
6 else
7 sign=string.Empty;
8 }
2 {
3 n++;
4 if(n%2==1)
5 sign="-";
6 else
7 sign=string.Empty;
8 }
补充:
因为重新构建了一个Calculation类,所以上篇文章中的相关变量到这里就有些变化了,我把类的定义的部分语句写在下面
1 private const uint MaxLength=10; //计算器允许显示的最大位数,修改时只改动此一处即可
2 private static string left=string.Empty,right=string.Empty,operators=string.Empty,sign=string.Empty,tempNum=string.Empty,tempOperator=string.Empty;
3 private static ushort n=0;
4
2 private static string left=string.Empty,right=string.Empty,operators=string.Empty,sign=string.Empty,tempNum=string.Empty,tempOperator=string.Empty;
3 private static ushort n=0;
4
3. 清零按钮:将所有存储的内容清空,显示器显示为0
这个实现很简单,就不说废话了,也不写出代码了。
(未完待续)