} private void PersonInfo_Load(object sender, EventArgs e) { cbx_province.Items.Add(\浙江省\ cbx_province.Items.Add(\江苏省\ cbx_province.SelectedIndex = 0; } } } (9)通过从菜单中选择“生成”→“生成解决方案”,来生成该解决方案。
(10)通过从菜单中选择“调试” →“开始执行(不调试)”选项来执行此应用程序。
程序运行效果图
2:创建一个计算器应用程序 问题
构建一个简单的计算器 指导 问题说明
该计算器提供加减乘除功能,支持小数输入。
分析
该问题需要一个窗体,添加0-9数字按钮,和一个小数点按钮;4个数学运算符按钮、一个清除按钮和一个等号(计算)按钮;一个文本框用来显示输入的数和计算结果。 参考步骤:
新建一个 “Windows”应用程序项目。将“Form1.cs”文件的名称更改为“Calculator.cs”。 (1)在Button1-Button9单击事件处理函数如下:
private void button0_Click(object sender, EventArgs e) { if (blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容 { textBox1.Text = \ blnClear = false; } Button b1 = (Button)sender; if (textBox1.Text != \ textBox1.Text += b1.Text; else textBox1.Text = b1.Text; } (2)为“.”按钮事件处理函数添加如下代码:
private void btn_dot_Click(object sender, EventArgs e) { if (blnClear) //如果准备输入下一个数,应先清除textBox1显示内容 { textBox1.Text = \ blnClear = false; } int n = textBox1.Text.IndexOf(\ if (n == -1)//如果没有小数点,增加小数点,防止多次输入小数点 textBox1.Text += \ } (3)在加、减、乘、除单击事件处理函数如下:
private void btn_add_Click(object sender, EventArgs e) { double dbSecond = Convert.ToDouble(textBox1.Text); if (!blnClear)//如果未输入第二个操作数,不运算 switch (strOper)//按记录的运算符号运算 { case \ sum += dbSecond; break; case \ sum -= dbSecond; break; case \ sum *= dbSecond; break; case \ sum /= dbSecond; break; } if (sender == btn_add) strOper = \ if (sender == btn_sub) strOper = \ if (sender == btn_mul) strOper = \ if (sender == btn_div) strOper = \ if (sender == btn_equ) strOper = \ textBox1.Text = Convert.ToString(sum); blnClear = true; } (4)完整的代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace e3_22 { public partial class Calculator : Form { double sum = 0; bool blnClear = false; string strOper = \ public Calculator() { InitializeComponent(); } private void button0_Click(object sender, EventArgs e) { if (blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容 { textBox1.Text = \ blnClear = false; } Button b1 = (Button)sender; if (textBox1.Text != \ textBox1.Text += b1.Text; else textBox1.Text = b1.Text; } private void btn_dot_Click(object sender, EventArgs e) { if (blnClear) //如果准备输入下一个数,应先清除textBox1显示内容 { textBox1.Text = \ blnClear = false; } int n = textBox1.Text.IndexOf(\ if (n == -1)//如果没有小数点,增加小数点,防止多次输入小数点 textBox1.Text += \ } private void btn_add_Click(object sender, EventArgs e) { double dbSecond = Convert.ToDouble(textBox1.Text); if (!blnClear)//如果未输入第二个操作数,不运算 switch (strOper)//按记录的运算符号运算 { case \ sum += dbSecond; break; case \ sum -= dbSecond; break; case \ sum *= dbSecond; break; case \ sum /= dbSecond; break; } if (sender == btn_add) strOper = \ if (sender == btn_sub) strOper = \ if (sender == btn_mul) strOper = \ if (sender == btn_div) strOper = \ if (sender == btn_equ) strOper = \ textBox1.Text = Convert.ToString(sum); blnClear = true; } private void btn_C_Click(object sender, EventArgs e) { textBox1.Text = \ sum = 0; blnClear = false; strOper = \ } } } (5)生成和执行此应用程序,效果如下图所示:
程序运行结果图
实验总结
根据实验内容和步骤,写出实验体会。