实验内容:Windows 窗体程序
一、实验目的及要求
(1) 掌握控件 Label、Button、TextBox 的常用属性、方法、事件的基本应用;
(2) 掌握控件 RadioButton、CheckBox 的常用属性、方法、事件的基本应用通过简单程 序;
(3) 掌握框-架类控件 GroupBox、Panel、TabControl 的基本应用;
(4) 掌握控件 ListBox、CombBox 、ListView 的常用属性、方法、事件的基本应用;
(5) 掌握 Windows 应用程序的结构;
(6)掌握 WinForm 的设计
(7)进一步学习掌握查找与修改编译错误的方法;
二、实验环境
Microsoft Visual Studio 2008
三、实验内容与步骤
一、设计简单的计算器
3.1、实验内容
- 设计一个简单的计算器,使其可以进行加、减、乘、除计算,程序运行状态如图所 示。(教材第 4 章 113 页 3.1 题)
如下所示
3.2、实验步骤
1、实验界面的属性设置如下:
(1)三个Lable的Text属性:第一个数、第二个数、运算结果。
(2)四个RadButton的Text属性和Name属性:+和radAdd、-和radSub、×和radMul、÷和radDiv。
(3)一个Button的Name和Text属性:btnOk和运算。
2、实验程序的设计代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 实验二_1_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOk_Click(object sender, EventArgs e) { double a, b; a = Convert.ToDouble(txtDigit1.Text); b = Convert.ToDouble(txtDigit2.Text); if (radAdd.Checked) txtShow.Text =Convert.ToString(a + b); if (radSub.Checked) txtShow.Text = Convert.ToString(a - b); if (radMul.Checked) txtShow.Text = Convert.ToString(a * b); if (radDiv.Checked) { if (b==0) MessageBox.Show("除数不能为零!"); else txtShow.Text = Convert.ToString(a / b); } } } }
- 3、实验的运行结果如下
- 3.1、简单的计算器的除
3.2、简单的计算器的乘
3.3、简单的计算器的减
3.4、简单的计算器的加
4、实验实现了加减乘除的基本运算,并且可以判断除数不能为零的情况。
二、设计选购计算器配置的应用程序
3.1、实验内容
- 设计一个选购计算器配置的应用程序,如下图所示。当用户选定了基本配置并且 单击“确定”按钮后,在右边的列表框中显示所选择的信息。(教材第 4 章 113 页 3.2 题)
如下所示
3.2、实验步骤
- 1、实验的界面设计如下:
容器 | Name属性 | Item属性 | DropDownHeight属性 | Text属性 |
comboBox | cboCollection | 联想 方正 Dell 兼容机 | Simple | |
groupBox1 | CPU | |||
groupBox2 | 内存 | |||
groupBox3 |
基本控件 | Name属性 | Text属性 | ||
RadioButton1 | radPentiumD | Pentium D | ||
RadioButton2 | radPentiumM | Pentium M | ||
RadioButton3 | radXeon | Xeon | ||
RadioButton4 | rad256MB |
RadioButton5 | Rad512MB | 512MB | ||
CheckBox1 | chkPrinter | 打印机 | ||
CheckBox2 | chkMode | Mode | ||
CheckBox3 | chkNetConfiguration | 网络适配器 | ||
ListBox | lstShow | |||
Button | btnOk |
- 2、实验的程序设计代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 实验二_2_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOk_Click(object sender, EventArgs e) { lstShow.Items.Clear(); string a = cboCollection.SelectedItem.ToString(); lstShow.Items.Add(a); if (radPentiumD.Checked) lstShow.Items.Add(radPentiumD.Text); if (radPentiumM.Checked) lstShow.Items.Add(radPentiumM.Text); if (radXeon.Checked) lstShow.Items.Add(radXeon.Text); if (rad256MB.Checked) lstShow.Items.Add(rad256MB.Text); if (rad512MB.Checked) lstShow.Items.Add(rad512MB.Text); if (chkPrinter.Checked) lstShow.Items.Add(chkPrinter.Text); if (chkMode.Checked) lstShow.Items.Add(chkMode.Text); if (chkNetConfiguration.Checked) lstShow.Items.Add(chkNetConfiguration.Text); } } }
- 3、实验的运行效果如下:
- 3.1
3.2
3.3
- 4、lstShow.Items.Clear();语句实现了每一次操作,将原有的ListBox的Item集合清除的效果。
四、实验总结
1、通过C#的Windows掌握了Button、TextBox、RadioButton、CheckBox GroupBox等基本控件和容器的基本属性。
2、掌握了ListBox的Item的Add方法添加项目等基本用法。
3、掌握了Convert的类进行数据的转换方法的应用。
4、实验过程中出现了
if (b=0) MessageBox.Show("除数不能为零!");
基本错误,编译不成功,才知道应该为
b==0(b=0是赋值语句,而b==0是判断b是否等于零)。