1、PrinterDocument
PrinterDocument是主要的打印控件,打印的時候必須添加它是對PrinterDocument類的實現,
通過它的PrinterPage事件可以設置打印的內容。
2、PrinterDialog
PrinterDialog提供打印機設置對話框,具有Document屬性和Showdialog方法,將其Document
屬性設置為PrinterDocument對象即可。
3、PageSetupDialog
PageSetupDialog控件提供頁面設置對話框,常用的頁面設置元素有紙張、方向和頁邊距。
4、PrinterPreviewDialog
PrinterPreviewDialog提供標准的打印預覽對話框,用於顯示文檔的打印效果。該控件包含用於打印
放大、顯示一頁或多頁的按鈕。該控件的關鍵屬性Document與PrinterDialog控件的相同,用於設置要
預覽的文檔,此文檔必須是PrinterDocument對象。
5、PrinterPreviewControl
PrinterPreviewControl幫助定制打印預覽對話框,可以顯示文檔的打印效果,沒有按鈕和其他用戶
界面元素。該控件常用於打印預覽用戶界面,而PrinterPreviewDialog控件用於標准用戶界面。
打印的相關代碼:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Font f=new Font("黑體",18); SolidBrush s=new SolidBrush(Color.Black); e.Graphics.DrawString(rtxtNotepad.Text,f,s,10,10);//需要的參數 } /// <summary> /// 打印設置 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 打印設置ToolStripMenuItem_Click(object sender, EventArgs e) { pageSetupDialog1.Document = printDocument1; pageSetupDialog1.ShowDialog(); } /// <summary> /// 打印預覽 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 打印預覽ToolStripMenuItem_Click(object sender, EventArgs e) { printPreviewDialog1.Document = printDocument1; printPreviewDialog1.ShowDialog(); } /// <summary> /// 打印 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 打印ToolStripMenuItem_Click(object sender, EventArgs e) { printDialog1.Document = printDocument1; DialogResult dr= printDialog1.ShowDialog(); if (dr == DialogResult.OK)//當用戶點擊確定的時候執行打印 { printDocument1.Print(); } }
對話框控件:
colorDialog - 顏色選擇對話框
folderBrowserDialog - 文件路徑選擇對話框
fontDialog - 字體選擇對話框
openFileDialog - 打開文件對話框
openFileDialog.Filter = "文本文件.txt|*.txt|視頻文件|*.avi|所有文件|*.*";
saveFileDialog - 保存文件對話框
問題:如果我已經保存過了,那么在次保存不需要彈出對話框,而是直接執行保存就可以。
絕對路徑:帶盤符的 G:\0720\...
相對路徑:根據你當前程序的目錄下,找到某個文件夾 /css/css1.css
流:IO
StreamReader - 讀取流 sr.ReadToEnd();
StreamWriter - 輸出流 sw.Write(要輸出的內容);
上面幾種控件的應用代碼:
bool b = false; bool s = true; /// <summary> /// 字體顏色 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 字體顏色ToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult dr= colorDialog1.ShowDialog(); if (dr == DialogResult.OK) { rtxtNotepad.ForeColor = colorDialog1.Color; } } /// <summary> /// 字體樣式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 字體樣式ToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult dr= fontDialog1.ShowDialog(); if (dr == DialogResult.OK) { fontDialog1.ShowDialog(); rtxtNotepad.Font = fontDialog1.Font; rtxtNotepad.ForeColor = fontDialog1.Color; } } /// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiSave_Click(object sender, EventArgs e) { //文件從磁盤打開但是修改了內容 if (b == true && rtxtNotepad.Modified == true) { rtxtNotepad.SaveFile(odlgNotepad.FileName); s = true; } else if (b == false && rtxtNotepad.Text.Trim() != "" && sdlgNotepad.ShowDialog() == DialogResult.OK) { rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; b = true; odlgNotepad.FileName = sdlgNotepad.FileName; } } /// <summary> /// 另存為 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiSaveAs_Click(object sender, EventArgs e) { if (sdlgNotepad.ShowDialog() == DialogResult.OK) { rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; } } /// <summary> /// 打開 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiOpen_Click(object sender, EventArgs e) { if (b == true || rtxtNotepad.Text.Trim() != "") { if (s == false) { string result; result = MessageBox.Show("文件尚未保存,是否保存?", "保存文件", MessageBoxButtons.YesNoCancel).ToString(); switch (result) { case "Yes": //文件是從磁盤打開的 if (b == true) { //按打開的路徑進行保存 rtxtNotepad.SaveFile(odlgNotepad.FileName); } //不是從磁盤打開的 else if (sdlgNotepad.ShowDialog() == DialogResult.OK) { rtxtNotepad.SaveFile(sdlgNotepad.FileName); } s = true; break; case "No": b = false; rtxtNotepad.Text = ""; break; } } } odlgNotepad.RestoreDirectory = true; if ((odlgNotepad.ShowDialog() == DialogResult.OK) && odlgNotepad.FileName != "") { rtxtNotepad.LoadFile(odlgNotepad.FileName); b = true; } s = true; }