本文实例为大家分享了c#用timer实现背单词小程序的具体代码,供大家参考,具体内容如下
看到网上有类似的教程视频实现单词本,于是自己敲了一个实现单词本功能的小项目,在实现期间,发现可以有两种版本来实现单词本功能,此处选择b版来为大家分享经验,同时留作自己日后复习巩固,有疏漏错误的地方,还望大神热心指出,在下感激不尽.
实现以下功能
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; using system.threading.tasks; using system.io; namespace windowsformsapp3 { public partial class form1 : form { public form1() { initializecomponent(); } private void form1_load(object sender, eventargs e) { } int t1 = 0;//此处变量t1只定义一次变量,不随着timer而重复赋值 private void timer1_tick(object sender, eventargs e) { #region 从文件读取数据 /// <summary> /// 使用streamreader读取文本文件然后一行一行的输出 -- /// </summary> list<string> english = new list<string>();//此处初始化两个集合 list<string> chinese = new list<string>();//将后面把每一行内容分割好的几部分分别存给集合 //list<string> yinbiao = new list<string>(); //创建变量line //创建streamreader streamreader sw = new streamreader("e:\\college_grade4.txt",encoding.default);//此处读取文件功能,encoding.default的作用是根据文本文件的编码来读取数据,一定不能丢,否则中文会乱码 string content = sw.readtoend();//把文件读完存给content string[] lines = content.split('\n');//把读取好的文件分割为一行一行存给数组 for (int i = 0; i < lines.length; i++) { string[] words = lines[i].trim().split('\t');//以水平制表符为基准将每一行分割成几部分 if (words.length < 2)//如果分割的部分小于2个的话就不处理此行 continue; english.add(words[0]);//将第一部分和第二部分分别存给上述集合 chinese.add(words[1]); // yinbiao.add(words[2]); } //将英文和翻译先后显示出来 if (t1 < lines.length) { this.label1.text = english[t1]; this.label2.text = chinese[t1]; } t1++; #endregion } } }
以下是实现效果
随timer控件执行一次一次出现后面的单词和意思
因为博客不支持上传文件
所以把我的文本文件内容截个图给大家
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。