C#实现单词本功能

作者:、你我山前没相见 时间:2021-11-06 13:08:23 

本文实例为大家分享了C#实现单词本功能的具体代码,供大家参考,具体内容如下

看到网上有类似的教程视频实现单词本,于是自己敲了一个实现单词本功能的小项目,在实现期间,发现可以有两种版本来实现单词本功能,此处选择A版来为大家分享经验,同时留作自己日后复习巩固,有疏漏错误的地方,还望大神热心指出,在下感激不尽.

A版实现以下功能:

1.利用文件流读取文本文件
2.利用openfiledialog实现查找文件的功能
3.存取文本文件路径和显示文本文件内容的功能


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.IO;

namespace WindowsFormsApp6
{
public partial class Form1 : Form
{
 public Form1()
 {
  InitializeComponent();
 }

private void button2_Click(object sender, EventArgs e)
 {
  textBox1.Clear();//每点击一次选择文件按钮自动清空文本框内已经打开的文件内容
  textBox2.Clear();//清空文件路径的内容
  OpenFileDialog filename = new OpenFileDialog();//定义打开文件
  filename.InitialDirectory = Application.StartupPath;//初始路径
  filename.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";//设置打开文件的类型
  filename.FilterIndex = 2;//设置文件类型的显示顺序

if (filename.ShowDialog() == DialogResult.OK)
  {
   textBox2.Text = filename.FileName.ToString();//将路径显示在文本框
   StreamReader sr = new StreamReader(filename.FileName, Encoding.Default);
   //将文件通过stream流读取
   string content = sr.ReadToEnd();//把文件读完存给content
   string[] lines = content.Split('\n');//将文件内容分割成一行一行存给数组
   for (int i = 0; i < lines.Length; i++)
   {

textBox1.Text += lines[i++]+"\n";

//List<string> english = new List<string>();
    //List<string> chinese = new List<string>();
    //string[] words = lines[i].Trim().Split('\t');
    //if (words.Length < 2)
    //continue;
    //english.Add(words[0]);
    //chinese.Add(words[1]);

}  
   sr.Close();
  }
 }

private void button1_Click(object sender, EventArgs e)
 {
  textBox1.Clear();//此处点击返回按钮同样自动清空文本框文件内容
  textBox2.Clear();//清除文件路径内容
 }
}
}

以上为我编写的文件的代码,被注释掉的代码部分用以实现分割音标出来再显示的功能,还未完善好,所以注释掉了,有感兴趣的可以完善完善共同探讨。

这是我的窗口

C#实现单词本功能

C#实现单词本功能

我的文本文件内容是这样

C#实现单词本功能

这是实现的效果

项目任存在可改进的空间,有兴趣的伙伴可以改进改进,将你的作品放在评论区共同讨论

来源:https://blog.csdn.net/u011367578/article/details/82950854

标签:C#,单词本
0
投稿

猜你喜欢

  • Ajax实现省市区三级联动

    2023-01-14 05:09:58
  • 一文带你搞懂Redis分布式锁

    2021-09-26 12:56:14
  • HashMap的get()方法的NullPointerException问题

    2023-09-23 07:24:12
  • Java利用POI读取、写入Excel的方法指南

    2023-11-23 15:39:23
  • 深入解析Java中的Classloader的运行机制

    2023-07-16 11:47:59
  • java返回集合为null还是空集合及空集合的三种写法小结

    2021-08-18 05:37:48
  • Java定时器Timer简述

    2023-07-20 19:17:16
  • 如何用120行Java代码写一个自己的区块链

    2023-07-17 03:44:33
  • 详解5种Java中常见限流算法

    2023-02-01 16:14:31
  • JAVA读取文件夹大小的几种方法实例

    2021-05-24 21:01:53
  • Java selenium处理极验滑动验证码示例

    2023-12-19 19:10:09
  • RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

    2023-11-28 14:03:18
  • java如何用Processing生成马赛克风格的图像

    2023-11-07 20:52:44
  • 使用mybatis插件PageHelper实现分页效果

    2023-03-29 15:12:03
  • Java数据结构之稀疏数组的实现与应用

    2023-12-04 22:46:41
  • Java单例模式实现的几种方式

    2021-06-09 18:38:47
  • javaWeb项目部署到阿里云服务器步骤详解

    2023-11-07 05:21:36
  • SpringBoot整合Elasticsearch并实现CRUD操作

    2021-10-28 07:27:31
  • java中文传值乱码问题的解决方法

    2023-11-25 16:26:47
  • 详解Spring Cloud Stream使用延迟消息实现定时任务(RabbitMQ)

    2022-09-14 05:07:34
  • asp之家 软件编程 m.aspxhome.com