18.WinForm練習--記事本應用程序

namespace _18記事本應用程序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void Form1_Load(object sender, EventArgs e)
    {
        //加載程序的時候隱藏panel
        panel1.Visible = false;
        //取消文本框自動換行
        textBox1.WordWrap = false;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        //點擊按鈕時也將panel隱藏
        panel1.Visible = false;
    }

    private void 顯示ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        //點擊顯示按鈕時顯示panel
        panel1.Visible = true;
    }

    private void 隱藏ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        //點擊隱藏按鈕時隱藏panel
        panel1.Visible = false;
    }
    //獲得打開文件的全路徑
    List<string> list = new List<string>();
    private void 打開ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        //打開對話框
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Title = "請選擇要打開的文件";
        ofd.InitialDirectory = @"C:\Users\Administrator.USER-20180925HC\Desktop\pic";
        ofd.Multiselect = true;
        ofd.Filter = "文本文件|*.txt|所有文件|*.*";
        //顯示打開對話框
        ofd.ShowDialog();

        //將選中打開的txt文件展現在textBox中
        //獲得文件的全路徑
        string path = ofd.FileName;
        //添加全路徑到list集合中
        list.Add(path);
        //獲得用戶打開的文件名
        string fileName = Path.GetFileName(path);
        //將文件名賦值給listBox
        listBox1.Items.Add(fileName);
        //判斷路徑是否爲空
        if (path == "")
        {
            return;
        }
        //如果路徑不爲空
        using (FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
        {
            //讀到字節數組當中
            byte[] buffer = new byte[1024 * 1024 * 5];
            //調用讀取的方法
            int r = fsRead.Read(buffer, 0, buffer.Length);
            //開始解碼,解碼後賦值給textBox
            textBox1.Text = Encoding.Default.GetString(buffer,0, r);
        }

    }

    private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        //保存對話框
        SaveFileDialog sfd = new SaveFileDialog();
        sfd.Title = "請選擇保存路徑";
        sfd.InitialDirectory = @"C:\Users\Administrator.USER-20180925HC\Desktop\pic";
        sfd.Filter = "文本文件|*.txt|所有文件|*.*";
        sfd.ShowDialog();

        //獲得文件要保存的路徑
        string path = sfd.FileName;
        //判斷路徑是否爲空
        if (path == "")
        {
            return;
        }
        //不爲空則開始解碼
        using(FileStream fsWrite=new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
        {
            byte[] buffer = Encoding.Default.GetBytes(textBox1.Text);
            fsWrite.Write(buffer, 0, buffer.Length);
        }
        MessageBox.Show("保存成功");
    }

    private void 自動換行ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (自動換行ToolStripMenuItem.Text == "自動換行")
        {
            textBox1.WordWrap = true;
            自動換行ToolStripMenuItem.Text = "取消自動換行";
        }
        else if(自動換行ToolStripMenuItem.Text=="取消自動換行")
        {
            textBox1.WordWrap = false;
            自動換行ToolStripMenuItem.Text = "自動換行";
        }
    }

    private void 字體ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        FontDialog fd = new FontDialog();
        fd.ShowDialog();
        textBox1.Font = fd.Font;
    }

    private void 顏色ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ColorDialog cd = new ColorDialog();
        cd.ShowDialog();
        textBox1.ForeColor = cd.Color;
    }

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    private void listBox1_DoubleClick(object sender, EventArgs e)
    {
               //雙擊listBox文件列表文件名,則在textBox顯示文件信息
        //獲得雙擊文件的全路徑
        string path = list[listBox1.SelectedIndex];
        using (FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
        {
            byte[] buffer = new byte[1024 * 1024 * 5];
            int r = fsRead.Read(buffer, 0, buffer.Length);

            textBox1.Text = Encoding.Default.GetString(buffer, 0, r);
        }

    }
}

}

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