C#記事本的制作


一、菜單命令的實現

textbox:
    屬性:
        text:文本
        selectedtext:獲取或設置選中文本
        canundo:是否能夠撤銷
    方法:
        undo:撤銷
        clearundo:清空撤銷緩沖區
        cut:剪切
        copy:復制
        Paste:粘貼
        SelectAll:全選
對話框:
    showdialog();顯示對話框,返回一個dialogresult的枚舉類型
   
    colorDialog:color屬性,用來獲取顏色
    folderBrowserDialog:SelectedPath選中路徑
    fontDialog:font屬性,返回一個font類型的值,里面存儲了關於字體的設置
    openFileDialog:
        filename獲取或設置文件路徑包含文件名
        filenames 是文件路徑字符串數組
        filter:文件篩選器 格式為 提示文本一|*.后綴|提示文本二|*.后綴|提示文本三|*.后綴
    saveFileDialog1:
        filename獲取或設置文件路徑包含文件名
        filenames 是文件路徑字符串數組
        filter:文件篩選器 格式為 提示文本一|*.后綴|提示文本二|*.后綴|提示文本三|*.后綴

記事本的制作:

1.用MenuStrip制作好菜單欄;

2.將文本框設置MultiLine,將Dock設置為fill;

3.設置“編輯”菜單命令的事件;

4.設置“文件”菜單命令的事件;

注意:在設置需彈出窗口的命令時需提前將相應的窗口工具拖到設計窗體中,拖入后在窗體下部可以看到,下圖所示:

image

各個菜單命令的觸發事件  
private void 撤銷ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (textBox1.CanUndo)
            {
                textBox1.Undo();
            }
        }

        private void 剪貼ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (textBox1.SelectedText != null)
            {
                textBox1.Cut();
            }
        }

        private void 復制ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (textBox1.SelectedText != null)
            {
                textBox1.Copy();
            }
        }

        private void 粘貼ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Paste();
        }

        private void 刪除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (textBox1.SelectedText != null)
            {
                textBox1.SelectedText = "";
            }
        }
//設置需彈出對話框的文件菜單命令的事件
        private void 字體ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fontDialog1.ShowDialog();//顯示字體對話框
            if (fontDialog1.Font != null)//若用戶選定了一個字體,顯示該字體的大小
            { MessageBox.Show(fontDialog1.Font.Size.ToString()); }
        }

        private void 打開ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
        }

        private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            saveFileDialog1.ShowDialog();
            if (saveFileDialog1.FileName != null)
            {
                MessageBox.Show(saveFileDialog1.FileName);
            }
        }
按“字體”命令以后
imageimage

 

二、通過文件流讀寫數據

需要的命名空間:using system.IO;

流:
    輸入流:
         string filename = openFileDialog1.FileName;
               //通過讀入流進行文件讀取
               StreamReader sr = new StreamReader(filename);
               textBox1.Text = sr.ReadToEnd();
               sr.Close();
    輸出流:
           string filename = saveFileDialog1.FileName;
                    //寫入流,可以在硬盤上創建文件,並為文件寫入信息
                    StreamWriter sw = new StreamWriter(filename);
                    sw.Write(this.textBox1.Text);
                    sw.Close();
    this:代表的它所在的那個類當前對象

輸入流的練習:

private void 打開ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            
            openFileDialog1.ShowDialog();
            if (openFileDialog1.FileName != null)//如果用戶選擇了一個文件,就讀入該文件的文本
            {
                string openFileName = openFileDialog1.FileName;
                StreamReader sr = new StreamReader(openFileName);//將文件名作為參數,創建文件流對象
                textBox1.Text= sr.ReadToEnd();//將讀取的文本輸送到文本框中
                 sr.close();//要記得用完關閉文件流
            }
    
         
        }
 

在桌面上找到aaa.txt,點擊打開,可以看到文本框有了文本

imageimage


打印:
    打印對話框:printdialog
    頁面設置:pagesetupdialog
            這兩個對話框都需要通過設置printdocument來指定打印對象
    printdocument:打印對象,必須要有,一塊畫板,用於打印機與打印內容之間中轉,打印機打印的是printdoment
    printDocument1_PrintPage:事件,每打印一頁之前觸發,用於給printdocument指定打印內容
    通過畫板把內容畫到打印對象的頁上:
        System.Drawing.Font f = new System.Drawing.Font("宋體",12);
            e.Graphics.DrawString(textBox1.Text,f,System.Drawing.Brushes.Aqua,5,5);
    最后打印: 打印對話框那,如果打印對話框返回確定打印,就執行printdocument.print();

 

 

小知識:ctrl+e+d自動對齊;
函數名后輸入一個“(”或者光標在()里面按Ctrl+shift+空格,可以查看重載內容。

使用函數注意事項:要調用的內容是否確定存在;
在什么條件下需要調用;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM