用C#完成單詞本功能A版

       初入坑時,看到網上有類似的教程視頻實現單詞本,於是自己敲了一個實現單詞本功能的小項目,在實現期間,發現可以有兩種版本來實現單詞本功能,此處選擇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();//清除文件路徑內容
        }
    }
}

以上爲我編寫的文件的代碼,被註釋掉的代碼部分用以實現分割音標出來再顯示的功能,還未完善好,所以註釋掉了,有感興趣的可以完善完善共同探討。

這是我的窗口

我的文本文件內容是這樣

這是實現的效果

項目任存在可改進的空間,有興趣的夥伴可以改進改進,將你的作品放在評論區共同討論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章