C# 程式設計 -- 文字編輯器

基礎篇

C# 簡介

開發環境

變數與運算

流程控制

陣列

函數

物件

例外處理

函式庫篇

檔案處理

資料結構

正規表達式

Thread

應用篇

視窗程式

媒體影音

網路程式

遊戲程式

手機程式

資料庫

雲端運算

特殊功能

委派

擴展方法

序列化

LinQ

WPF

網路資源

教學影片

投影片

教學文章

軟體下載

考題解答

101習題

專案下載:(1) 只有介面,沒有功能的版本 (英文) — Editor1.zip
專案下載:(2) 只有介面,沒有功能的版本 (中文) — Editor2.zip
專案下載:(3) 完整版 — Editor3.zip
2011 年新版:TextEditor20111206.zip (沒有儲存檔案,只有另存新檔) TextEditor20111207.zip (有儲存檔案)

執行結果

TextEditorRun.jpg

程式碼 (2012 年版, 有儲存檔案):FormEditor.cs

using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class FormEditor : Form
    {
        String filePath = null;

        public FormEditor()
        {
            InitializeComponent();
        }

        public static String fileToText(String filePath)
        {
            StreamReader file = new StreamReader(filePath);
            String text = file.ReadToEnd();
            file.Close();
            return text;
        }

        public static void textToFile(String filePath, String text)
        {
            StreamWriter file = new StreamWriter(filePath);
            file.Write(text);
            file.Close();
        }

        private void openFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                String text = fileToText(openFileDialog.FileName);
                richTextBox.Text = text;
                filePath = openFileDialog.FileName;
            }
        }

        private void newFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox.Text = "";
            filePath = null;
        }

        private void saveFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (filePath == null)
            {
                dialogSaveFile();
            }
            else
            {
                textToFile(filePath, richTextBox.Text);
            }
        }

        private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            dialogSaveFile();
        }

        public void dialogSaveFile()
        {
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                textToFile(saveFileDialog.FileName, richTextBox.Text);
                filePath = saveFileDialog.FileName;
            }
        }

    }
}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License