C# 实验四 WinForm程序设计
《C#语言程序设计》实 验 报 告
学院: 信息学院
专业: 软件工程
指导教师:
报告人:
学号:
班级:
实验四 WinForm程序设计
一、目的与要求
1.熟悉Windows应用程序的创建方法。 2.掌握代理的本质。
3.掌握事件代理的定义,事件的定义,事件的触发以及实例化事件代理和事件处理方法的实现。
4.了解事件参数类的定义和使用方法。
二、实验仪器
Windows操作系统,Microsoft Visual Studio .NET 2010。
三、实验内容
创建一个Windows应用程序能实现简单的打字功能。首先随机生成一段英文字母序列,这段文本只能由英文大小写字母、数字、空格组成。用户可以在文本框中输入对应的文本,实现打字操作,待完成后,程序能给出此次打字的成绩,并重新随机生成一段文本。程序的界面类似下面的形式:
在窗体上需要安装一个定时器,出题后设置打字总时间启动定时器,定时器每触发一次click事件修改一次剩余时间,当剩余时间为零时不允许再答题。
在输入字符的过程中对输错的字符给出提示。
四、实验过程及结果
1.创建名为Typer的Windows应用程序。
2.在主窗体上放置如示例所示的控件。两个TextBox、三个按钮和多个Label,一个richTextBox。分别设置好它们的属性。
3.在窗体上放置一个定时器,映射定时器的tick事件。将定时器的Interval属性设置为1000,即一秒钟更新一次label。
4.打开主窗体对应的代码文件,在成员定义中加入以下几个成员的定义:存放随机生成的源字符串对象;存放输入字符的目的字符串对象;存放固定字符的字符数组;存放设置字符个数的整型变量。
5.在窗体的构造方法中对存放固定字符的数组进行初始化,例如:
a = new
char[ ]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
6.分别映射三个按钮的单击按钮事件,对三个按钮应当起到的作用描述如下:
“设置”按钮,应当根据它旁边的编辑框中输入的数字来设置出题的字符个数;“开始出题并计时”按钮应当构造一个随机数发生器,然后循环随机生成0~61范围内的随机数,将这个随机数作为字符数组的下标,继而获得随机字符串。”交卷”按钮要比较源串和目标字符串之间相同字符的个数,利用消息框给出成绩。 随机字符串的生成代码:
string str = \
int i, t;
Random rand = new Random(); for (i = 0; i < n; i++) {
t = rand.Next(0, 61); str += a[t].ToString();
}
7.映射输入文本框(richTextBox)的TextChanged事件,在事件处理方法中将出错的字符进行变色显示提醒用户。参考代码如下:
private void richTextBox1_TextChanged(object sender, System.EventArgs e) {
int t = richTextBox1.TextLength; if(t != 0) {
if(t> n) {
MessageBox.Show(\输入的字符超出计划数目\警告\ return ; }
else if(richTextBox1.Text[t-1] != textBox1.Text[t-1] ) {
richTextBox1.Select(t-1,1);
richTextBox1.SelectionColor = Color.Red; richTextBox1.Select(t,0); } else {
richTextBox1.Select(t-1,1);
richTextBox1.SelectionColor = Color.Black; richTextBox1.Select(t,0); } } } 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 WindowsFormsApplication1 {
public partial class Form1 : Form {
int count = 100; public Form1() {
InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
Random r = new Random();
char[] a = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
for (int i = 0; i < Convert.ToInt32(textBox1.Text); i++) {
richTextBox1.Text = richTextBox1.Text + Convert.ToString(a[r.Next(a.Length)]); }
timer1.Start();
}
private void richTextBox2_TextChanged(object sender, EventArgs e) {
int n = Convert.ToInt32(textBox1.Text); int m = richTextBox2.TextLength; if (n != 0) {
if (n > richTextBox1.TextLength) {
MessageBox.Show(\字符超出\ }
else if (richTextBox1.Text[m - 1] != richTextBox2.Text[m - 1]) {
MessageBox.Show(\你输入的字符有误\ richTextBox2.Select(m - 1, 1);
richTextBox2.SelectionColor = Color.Red; richTextBox2.Select(m, 0);
} else {
richTextBox2.Select(m - 1, 1);
richTextBox2.SelectionColor = Color.Black; richTextBox2.Select(m, 0); } } }
private void timer1_Tick(object sender, EventArgs e) {
if (--count == 0)
count = 100;
label3.Text = count.ToString(); } } }
五、实验总结
在这次实验中我学会了一个算法,怎样形成一个倒计时的方法及错误检测,对未来的自己有很大的帮助。
…… 此处隐藏:1513字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




