標籤:
一、功能表命令的實現
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.設定[檔案] 功能表命令的事件;
注意:在設定需快顯視窗的命令時需提前將相應的視窗工具拖到設計表單中,拖入後在表單下部可以看到,所示:
各個功能表命令的觸發事件 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); } }
按“字型”命令以後
二、通過檔案流讀寫資料
需要的命名空間: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,點擊開啟,可以看到文字框有了文本
列印:
列印對話方塊: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+空格,可以查看重載內容。
使用函數注意事項:要調用的內容是否確定存在;
在什麼條件下需要調用;
C#記事本的製作