本文实例为大家分享了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控件执行一次一次出现后面的单词和意思
因为博客不支持上传文件
所以把我的文本文件内容截个图给大家

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
妳是莪此世不渝的执着