文档介绍:计算器设计说明书
1. 界面设计 1
. MenuStrip 1
. TextBox 2
. Button 2
2. 类的设计 3
3. 代码编制 3
. 数字的输入 3
. 小数点的输入 5
. 加减乘除的事件 5
. 开根号倒数 6
. % 6
. 等号处理 7
. MC,MR,MS,M+ 7
. C,CE,BackSpace 8
. 数字分组 9
. 复制粘贴 10
4. 设计人员 10
界面设计
MenuStrip
在visualstudio2010可视化界面中,拖入MenuStrip控件,填入名字等.
*(例如在Text填入查看(&V) 加上&可以在字母上出现下划线)
然后加入两个Panel 一个叫 txtPanel 另一个叫 btnPanel ,后者用来放按钮
TextBox
*一个属性TextAlign 设置为 Right
Button
自己拖入相应的按钮,修改名字,显示的Text
然后用代码实现数字按钮:
private Button[,] _btnnum;
//定义一个按钮数组
public void Initialize()
{
if ( == null)
{
= new Button[3, 3];
//这里只生成了一维数组的引用地址
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
[i, j] = new Button();
//所以在这里要实例具体对象
[i, j].FlatStyle = ;
[i, j].Font = new Font("微软雅黑", 9F, , , ((byte)(134)));
[i, j].Name = "btn" + ((2 - j) * 3 + (i + 1)).ToString();
[i, j].Text = ((2 - j) * 3 + (i + 1)).ToString();
[i, j].Size = new (40, 40);
[i, j].UseVisualStyleBackColor = false;
[i, j].Location = new Point(65 + i * 49, 67 + j * 48);
[i, j].Click += new ();
([i, j]);
}
}
}
然后在构造函数中调用,这样子会有个错误,
private void btn_Click(object sender, EventArgs e){}
这样子其余的按钮也出现了呵呵~~~
类的设计
我自己定义了一个类,里面有静态的变量,考虑用来保存计算器做计算的时候保存的操作符和操作码。下图是我用StarUML做的类图
代码编制
数字的输入
在动态生成的按钮的事件里添加一些代码,来获取按的键的信息
Button btn = null;
if (sender is Button) //判断下sender对象是不是Button
{
btn = (Button)sender;
}
numClick();
编写私有的numClick(string text)方法。这个方法获取得到的数字的信息
然后在txtInput中显示出来
int num = (text);
//转换数据类型
//如果显示 0. 先让textbox先变空
If txtInput的显示的内容为"0" 或者按过操作码或者点击过等号或者点击过BF
//有的判断是添加别的功能后添加的...
//如果输入框显示的是"0" ,有操作码,和计算过...
{
= "";//变为空
swi