C#实现单词本功能
作者:、你我山前没相见 发布时间:2021-11-06 13:08:23
标签:C#,单词本
本文实例为大家分享了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();//清除文件路径内容
}
}
}
以上为我编写的文件的代码,被注释掉的代码部分用以实现分割音标出来再显示的功能,还未完善好,所以注释掉了,有感兴趣的可以完善完善共同探讨。
这是我的窗口
我的文本文件内容是这样
这是实现的效果
项目任存在可改进的空间,有兴趣的伙伴可以改进改进,将你的作品放在评论区共同讨论
来源:https://blog.csdn.net/u011367578/article/details/82950854
0
投稿
猜你喜欢
- 前情提要:本demo是基于springboot+mybatis-plus实现加密,加密为主,全局异常处理,日志处理为辅,而登录密码加密是每个
- 一、添加依赖<!--SpringBoot使用Swagger2构建API文档的依赖--> <dep
- 前言本文给你提供在Spring Boot 应用程序中编写好的单元测试的机制,并且深入技术细节。我们将带你学习如何以可测试的方式创建Sprin
- 一、Flutter代码的启动起点我们在多数的业务场景下,使用的都是FlutterActivity、FlutterFragment。在在背后,
- .c 源程序 ----- 编译 ----- 链接 ---- exe ----运行 -------->程序翻译环境和执行环境翻译环境:源
- 目录一、前言二、正文2.1 注解2.1.1 注解1:@Target({ElementType.TYPE})2.1.2 注解2:@Retent
- 要实现摇一摇的功能,类似于微信的摇一摇方法1:通过分析加速计数据来判断是否进行了摇一摇操作(比较复杂)方法2:iOS自带的Shake监控AP
- using System; using System.Collections.Generic; using System.Text; usi
- 先来一个常见的错误信息:Due to limitations of the com.mongodb.BasicDocument, you c
- Spring Boot文件上传与下载在实际的Web应用开发中,为了成功上传文件,必须将表单的method设置为post,并将enctype设
- 1.springBoot的依赖确定项目中包含可以注解的依赖<dependency> <group
- 基础铺垫在java中,关于json的lib有很多,比如jackjson、fastjson、gson等等,本人都用过,但是对于我等只需要让ja
- springcloud eureka切换nacos配置中心地址: http://10.166.9.7:8848/nacos/bootstra
- 使用RateLimiter通过AOP方式进行限流1、引入依赖<!-- guava 限流 --><dependency>
- 1、首先导入solrj需要的的架包2、需要注意的是低版本是solr是使用SolrServer进行URL实例的,5.0之后已经使用SolrCl
- 这篇文章主要介绍了Java List集合排序实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- Java实现PC微信扫码支付做一个电商网站支付功能必不可少,那我们今天就来盘一盘微信支付。微信支付官方网站业务流程:开发指引文档支付服务开发
- 普通 jar 包的导出1.点击 file 中的project.structor=>选择Artifacts=>+=>选择 j
- Synchronized实现可见性原理可见性要实现共享变量的可见性,必须保证两点:线程修改后的共享变量值能够及时从工作内存刷新到主内存中其他
- 大致思路:注解实现方式:就是用 反射机制. 获取指定的包下使用了注解的类,存储在一个map容器, 然后获取map容器下类的属性, 利用反射给