VC#_Windows窗体应用程序—计算器
Microsoft Visual Studio 2010
1. 新建项目
按照下图标号顺序新建项目,更改项目名称及路径。
2. 窗体设计
“解决方案资源管理器” 中的 “Form1.cs” 对窗体进行编辑。
3. 程序编写
“类视图” 中的 “Form1” 对程序进行编辑。
4. 添加控件
单击窗体;右下角单击工具箱;双击 Button控件 将其添加到窗体中,TextBox控件 亦是如此;Button控件 添加16个;TextBox控件 添加1个(勾选MultiLine 便能将其下拉)。
5. 编辑控件属性
单击 Button控件;右侧按顺序单击 2属性 - 3属性 (此页面是对控件的属性进行编辑) - 4Text (Button控件 上显示的文本);逐个修改为如下所示。
6. 编辑控件事件
单击 Button控件;右侧按顺序单击 2属性 - 3事件 (此页面是对控件的事件进行编辑,控件的事件 在下一行说明) - 双击 4Click 跳到程序编写位置(Click是指单击组件时发生的事件,即该Button控件 被单击,则有 Click事件发生)。
方框中是 自定义的 参数及函数;圆框中是 定义了Click事件 后自动产生的,在其中调用add_sign()函数,即为 单击Button10 添加了数字0。
依照上述方法编辑每一个 Button控件,如下所示。
如下为 计算符Button 的定义,为区分 在属性中修改了Button的name为Pos_add…
Button“=” 与 Button“AC” 的程序如下。
按顺序单击 1全部保存 - 2启动调试;即弹出我们编辑的窗体,验证是否成功。
依照之前新建项目时 定义的路径,该 应用程序 文件是能够直接打开的,便是 得到的成果了。
7. 程序段
double temp1;
double temp2;
short pos = 0;
public string temp1_string = "";
string temp2_string = "";
public void add_sign(Char sign)
{
textBox1.Text = textBox1.Text + sign; //显示屏textBox1显示的字符串赋值
if (pos == 0)
{
temp1_string = temp1_string + sign; //第一个数
}
if (pos != 0)
{
temp2_string = temp2_string + sign; //中间隔着运算符判断为第二个数
}
}
//......
private void button9_Click(object sender, EventArgs e)
{
add_sign('9');
}
private void Pos_add_Click(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text + "+";
pos = (short)'+';
}
private void Pos_sub_Click(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text + "-";
pos = (short)'-';
}
//......
private void button15_Click(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text + "=";
temp1 = Convert.ToDouble(temp1_string);
temp2 = Convert.ToDouble(temp2_string);
switch (pos)
{
case (short)'+':
textBox1.Text = textBox1.Text + (temp1 + temp2).ToString();
break;
case (short)'-':
textBox1.Text = textBox1.Text + (temp1 - temp2).ToString();
break;
case (short)'*':
textBox1.Text = textBox1.Text + (temp1 * temp2).ToString();
break;
case (short)'/':
textBox1.Text = textBox1.Text + (temp1 / temp2).ToString();
break;
default:
break;
}
}
private void AC_Click(object sender, EventArgs e)
{
textBox1.Text = "";//显示屏清空
temp1 = 0; //临时计算结果归零
temp2 = 0;
pos = 0; //计算方式归零
temp1_string = "";
temp2_string = "";
}
8. 谢谢阅读(如果遇见什么问题,可以的话,直接把你的项目发给我。因为直接描述一个问题是很难找到解决方案的。邮箱1147735042@qq.com)
希望这篇博客能对您有所帮助。文中或有哪些模糊、错误的地方,请您指出,十分感谢。