C#用timer实现背单词小程序

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

C#用timer实现背单词小程序

  2021-04-03 我要评论

看到网上有类似的教程视频实现单词本,于是自己敲了一个实现单词本功能的小项目,在实现期间,发现可以有两种版本来实现单词本功能,此处选择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控件执行一次一次出现后面的单词和意思

因为博客不支持上传文件

所以把我的文本文件内容截个图给大家

您可能感兴趣的文章:

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们