c# Windows窗体应用程序设计综合实例 ----数学测验器
在前面已经介绍了基本的几个控件的应用,并且也更新了一个小游戏的设计。步骤比较多,只要理清楚每个步骤和每块代码添加的作用,就可以顺利地完成。有什么问题欢迎大家讨论私信。
-------------------------------------------------------
那么开始今天的正题
新建项目
1.打开vs2017,新建一个窗体项目,命名为“数学测验器”。将窗体size属性更改为 500 , 400 。(大小可以根据自己的需求调整)
2.将“FormBorderStyle”属性的值更改为“Fixed3D”,并“MaximizeBox”属性设置为“False”。
创建“剩余时间框”
1.从“工具箱” 中添加一个 Label 控件,然后将其“(Name)” 属性的值设置为“timeLabel” 。
2.将“AutoSize”属性更改为“False”。将“BorderStyle”属性更改为“FixedSingle”以在框的周围绘制线条。将“Size”属性设置为“200, 30”。
3.在“属性” 窗口中,选择“Text” 属性,然后选择 Backspace 键以清除此属性的值。
选择“Font” 属性旁边的加号 (+ ),然后将“Size” 属性的值更改为“15.75” 。
4. 从“工具箱” 中再添加一个Label控件,然后将其字号设置为“15.75” 。将“Text”属性设置为“剩余时间”。(后面提到的字号都是在Font属性的+里面修改)
添加加法的控件
1.从“工具箱” 中添加一个“Label”控件,然后将其“Text” 属性设置为“?” (问号)。
将“AutoSize”属性设置为“False”。
将“Size”属性设置为“60, 50”。
将字号设置为“18”。
将“TextAlign”属性设置为“MiddleCenter”。
将“Location”属性设置为“50, 75”。
将“(Name)”属性设置为“plusLeftLabel”。
将该Label控件复制粘贴三次,更改如下属性:将第二个 Label的“Text”属性值设置为 + (加号);第三个Label的“(Name)”属性值设置为“plusRightLabel”; 第四个 标签的“Text”属性值设置为 = (等于号)。
从“工具箱” 添加一个 NumericUpDown 控件,将其字号设置为“18” ,并将其宽度设置为“100” ;将此“NumericUpDown”控件与加法题的各 Label 控件排成一行;“NumericUpDown”控件的“(Name)” 属性值更改为“sum” 。
效果图如下:
添加其他运算的控件
复制加法题的全部五个控件(四个 Label 控件和一个 NumericUpDown 控件),然后粘贴这些控件。分别更改以下属性:
减法
将第二个Label的“Text”属性值更改为“-”
将第一个问号Label命名为“minusLeftLabel”
将第二个问号Label命名为“minusRightLabel”
将“NumericUpDown”控件命名为“difference”
乘法
第一个Label命名为“timesLeftLabel”
第二个Label的“Text”属性更改为“×”(乘号)
第三个Label命名为“timesRightLabel”,然后将 NumericUpDown 控件命名为“product”
除法
第一个Label命名为“dividedLeftLabel”
第二个Label的“Text”属性更改为“÷”(除号)
第三个Label命名为“dividedRightLabel”
NumericUpDown 控件命名为“quotient”
设置 Tab 键索引顺序
从“工具箱” 添加一个 Button 控件,然后将其“(Name)” 属性设置为“startButton” 。
“Text”属性设置为“开始测验”。将字号设置为“14”。
将“AutoSize”属性设置为“True”,这可使此按钮自动调整大小以适合文本。
“startButton”控件的“TabIndex”属性值设置为“1”。
“TabIndex” 属性用于设置测验对象选择 Tab 键时的控件顺序。
NumericUpDown sum 控件的“TabIndex”属性值设置为“2”,将 difference 控件的此属性值设置为“3”,将 product 控件的此属性值设置为“4”,将 quotient 控件的此属性值设置为“5”。
效果图如下:
添加代码
添加随机加法
后面的代码最好都手动输入。
public partial class Form1 : Form
{
int addend1;
int addend2;
Random randomizer = new Random();
}
添加一个名为 StartTheQuiz() 的方法,此方法使用 Random 对象的 Next() 方法在Label中显示随机数。 StartTheQuiz()
public void StartTheQuiz()
{
addend1 = randomizer.Next(51);
addend2 = randomizer.Next(51);
plusLeftLabel.Text = addend1.ToString();
plusRightLabel.Text = addend2.ToString();
sum.Value = 0;
}
现该行为的 Click 事件处理程序。
添加下面两个语句。
private void startButton_Click(object sender,